0

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

怎么了?

4

2 回答 2

1

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

于 2013-05-16T05:15:35.923 回答
0

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

于 2013-05-16T05:26:02.943 回答