c # tabcontrols не может добавить панель на другую вкладку

У меня проблема с формой окна в VS C #. Я делаю tabcontrol. это составная часть с tabpage1, tabpage2. Все вкладки добавят ту же панель. когда я нажимаю на вкладку переключателя, она должна отображать панель. но это не работает. Будет показана первая вкладка, но она не будет отображаться на других вкладках, когда я переключил вкладку.

       public partial class Form2 : Form
        {
           public Form2(.....){
               ..........
              InitializeComponent();
                 ...........
               panelButton.Controls.Add(btnArr1[i]);
               tabControl1.TabPages[0].Controls.Add(panelButton); //It's work
               tabControl1.TabPages[1].Controls.Add(panelButton); //it's not show panel

               }

           }

По-другому я пытаюсь создать событие, когда нажимаю на другую вкладку. Как этот код.

      private void tabPage1_Click_1(object sender, EventArgs e)
       {
             tabControl1.TabPages[0].Controls.Add(panelButton); //It 's work
        }

и

        private void tabPage2_Click_2(object sender, EventArgs e)
       {
            tabControl1.TabPages[1].Controls.Add(panelButton); //It is not show panel.
        }

Что не так?


person Fame th    schedule 16.05.2013    source источник


Ответы (2)


Вы пытаетесь добавить один объект (panelButton) на разные вкладки. Вы должны создать две панели PanelButton для каждой вкладки или вы должны удалить panelButton из текущей вкладки, прежде чем добавлять ее в выбранную.

person alexmac    schedule 16.05.2013

вы не можете добавлять элементы управления с одной и той же ссылкой на две разные tabPages, решение состоит в том, чтобы создать новый экземпляр panelButton и добавить его на вторую вкладку, не забывайте, что все contorls внутри вашей панели PanelButton тоже должны быть инициализированы

person hm1984ir    schedule 16.05.2013