c#tabcontrols无法在另一个标签页中添加面板

时间:2013-05-16 05:06:55

标签: c# winforms tabcontrol tabpage

我在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.
        }

错在哪里?

2 个答案:

答案 0 :(得分:1)

您正尝试在不同的标签中添加单个对象(panelButton)。您应该为每个选项卡创建两个panelButton,或者您应该从当前选项卡中删除panelButton,然后将其添加到所选选项卡中。

答案 1 :(得分:0)

您无法将具有相同引用的控件添加到两个不同的tabPages 解决方案是创建panelButton的新实例并将其添加到第二个选项卡, 不要忘记panelButton中的所有控件也必须是init