选项卡控件中单个选项卡的事件

时间:2016-05-19 08:27:57

标签: c# winforms tabcontrol

我正在尝试弄清楚如何在TabControl的Windows窗体中为单个标签创建一个事件。

我尝试了一些方法,但事件总是影响整个TabControl,例如在这种情况下,我的界面有一个TabControltabControl1),有两个标签。

我希望在阅读过程开始之前无法点击第二个标签,也是因为在阅读过程中,我想在标签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;
    }
}

2 个答案:

答案 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

             }
        }