我在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.
}
错在哪里?
答案 0 :(得分:1)
您正尝试在不同的标签中添加单个对象(panelButton)。您应该为每个选项卡创建两个panelButton,或者您应该从当前选项卡中删除panelButton,然后将其添加到所选选项卡中。
答案 1 :(得分:0)
您无法将具有相同引用的控件添加到两个不同的tabPages 解决方案是创建panelButton的新实例并将其添加到第二个选项卡, 不要忘记panelButton中的所有控件也必须是init