Создание пользовательского TabPage управляет в C#

Я создаю маленькую снабженную вкладками Форму c#, и я хотел бы, чтобы каждая вкладка имела некоторые типичные функции, особенно, кнопку OK и сообщение об ошибке и имела пространство для определенных полей формы.

Кто-либо еще сделал что-то подобное и как Вы приближались к нему?

5
задан Henk Holterman 24 March 2010 в 15:28
поделиться

2 ответа

Это легко сделать, не расширяя TabControl / TabPage.

Определите один UserControl и поместите в него нужные общие элементы на каждой TabPage.

В форме: продолжайте и создайте необходимые элементы управления TabPage для каждой страницы TabPage: убедитесь, что они не будут визуально перекрываться с общими элементами управления после добавления UserControl.

В событии загрузки формы вашей основной формы сделайте что-то вроде этого:

    // form scoped variable to hold a referece to the current UserControl
    private UserControl1 currentUserControl;

    private void Form1_Load(object sender, EventArgs e)
    {
        foreach(TabPage theTabPage in tabControl1.TabPages)
        {
            currentUserControl = new UserControl1();

            theTabPage.Margin = new Padding(0);
            theTabPage.Padding = new Padding(0);

            theTabPage.Controls.Add(currentUserControl);

            currentUserControl.Location = new Point(0,0);

            currentUserControl.Dock = DockStyle.Fill;

            currentUserControl.SendToBack();
        }
    }

Несмотря на то, что SendToBack здесь действительно не требуется, это «страховка», что ваш UserControl с кнопкой «Okay» и текстовым полем для сообщения об ошибке расположены за отдельными элементами управления, которые вы назначили каждой TabPage.

7
ответ дан 14 December 2019 в 01:05
поделиться

Несколько идей:

  • Держите общие элементы управления за пределами панели вкладок;
  • Расширьте TabPage / TabControl
  • Создание базового UserControl с общими кнопками и создание пользовательских элементов управления, которые наследуются от него. Затем поместите один унаследованный пользовательский элемент управления на каждую вкладку.
2
ответ дан 14 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: