我正在尝试弄清楚如何在TabControl
的Windows窗体中为单个标签创建一个事件。
我尝试了一些方法,但事件总是影响整个TabControl
,例如在这种情况下,我的界面有一个TabControl
(tabControl1
),有两个标签。
我希望在阅读过程开始之前无法点击第二个标签,也是因为在阅读过程中,我想在标签2中使用的变量里面没有任何值,一种保护。
private void tabControl1_MouseClick(object sender, MouseEventArgs e)
{
if (reading) //Do not export when the program is reading
{
System.Windows.Forms.MessageBox.Show("You cannot export while reading. Please stop before exporting");
return;
}
if (data[0] != null)
{
pesgo2.PeData.X[0, value] = (float)xCh0;
pesgo2.PeData.Y[0, value] = (float)yCh0;
pesgo4.PeData.X[0, value] = (float)xCh1;
pesgo4.PeData.Y[0, value] = (float)yCh1;
}
}
答案 0 :(得分:0)
您可以使用选项卡控件上的Selecting
事件来阻止用户更改选项卡,直到满足条件。
我不知道任何可用于单个标签的事件可能对任何进一步的帮助。
答案 1 :(得分:0)
尝试将SelectedIndexChanged
视为:{/ 1}
private void tab1_SelectedIndexChanged(object sender, EventArgs e)
{
if ( reading==true && tabControl1.SelectedTab == tabControl1.TabPages["tabname2"])//your specific tabname
{
System.Windows.Forms.MessageBox.Show("You cannot export while reading. Please stop before exporting");
tabControl1.SelectedTab = tabControl1.TabPages["tabname2"];
//To return to the previous tab if reading has not processing
}
}