检查是否select了特定的标签页(活动)

我正在做一个事件来检查选项卡控件中的特定标签页是否处于活动状态。

重点是,如果选项卡控件中的选项卡页是当前选定的选项卡,则会触发事件。 任何代码,将给我什么,我需要?

假设你正在寻找Winform中,该选项卡有一个SelectedIndexChanged事件

现在,你可以检查你的特定标签,并继续逻辑

 private void tab1_SelectedIndexChanged(object sender, EventArgs e) { if (tab1.SelectedTab == tab1.TabPages["tabname"])//your specific tabname { // your stuff } } 

要检查一个特定的标签页是否是一个标签页当前选定的控件很容易; 只需使用Tab控件的SelectedTab属性即可:

 if (tabControl1.SelectedTab == someTabPage) { // Do stuff here... } 

如果代码是基于除了被select的标签页之外的某个事件执行的(在这种情况下,SelectedIndexChanged是更好的select),这将更有用。

例如,我有一个应用程序使用计时器定期轮询TCP / IP连接的东西,但为了避免不必要的TCP / IP通信,我只在当前选定的标签页中轮询更新GUI控件的东西。

在.Net 4中可以使用

 if (tabControl1.Controls[5] == tabControl1.SelectedTab) MessageBox.Show("Tab 5 Is Selected"); 

要么

 if ( tabpage5 == tabControl1.SelectedTab) MessageBox.Show("Tab 5 Is Selected"); 

不pipe出于什么原因,上述都不适合我。 这是做了什么:

 if (tabControl.SelectedTab.Name == "tabName" ) { .. do stuff } 

其中tabControl.SelectedTab.Name是在tabcontrol本身中分配给页面的名称属性。