2014-11-05 75 views

回答

2

我能想到的有两种解决方案。

  1. 将组合框移出标签控件。由于所有选项卡都使用相同的组合框,因此它提供了非选项卡特定的功能。设计明智,这是最​​有意义的,因为您将避免3个组合框之间的冗余。

  2. 为每个选项卡创建3个独立的组合框,并为每个组合框引用一个相同的集合。一旦用户选择一个项目,不要忘记更新所有3个组合框的选定项目。也不要认为这需要比第一种解决方案更多的代码更改。

0

将您的组合框放在第一个选项卡上。然后,事件处理程序添加到您的选项卡控件的SelectedIndexChanged事件,并把这个代码在它:

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    tabControl1.SelectedTab.Controls.Add(this.comboBox1); 
} 

Add会自动从它以前一直在标签中删除。当然,您必须在组合框所在的所有选项卡上提供可用空间。

0

我试过了,使用VB代码:TabStrip1.SelectedTab.Controls.Add(*controlname*)来切换,但是一旦它离开原来的页面并进入新的页面,切换回原来的标签似乎不起作用。 刚刚发现,使用*controlname*.BringToFront再次将它带入了顶峰。

相关问题