单击选项卡控件的选定选项卡页眉时如何触发事件

时间:2014-08-25 04:07:48

标签: c# winforms tabs

我正在使用C#进行Winform应用程序,并且我在标签控件中有一些标签页,例如tabPage1tabPage2tabPage3,并且选择了tabPage1

我想在点击任何标签页标题时触发事件,但我只能在页面更改(使用SelectedIndexChanged)中执行此操作,但不能点击选定的标签页标题

我尝试了SelectingSelected个事件,但两个都没有效果。我在MSDN上搜索但没有在页眉上找到任何Click事件。那我该怎么做呢?

还有一个问题,是否有可能以及如何在所选标签页上检测DoubleClick

3 个答案:

答案 0 :(得分:6)

只需使用tabcontrol的MouseDoubleClick事件即可。您必须迭代选项卡以找出单击的特定选项卡:

    private void tabControl1_MouseDoubleClick(object sender, MouseEventArgs e) {
        for (int ix = 0; ix < tabControl1.TabCount; ++ix) {
            if (tabControl1.GetTabRect(ix).Contains(e.Location)) {
                // Found it, do something
                //...
                break;
            }
        }
    }

请记住,这对于用户来说是完全无法发现的,他永远不会想到双击该标签。你必须写一本手册。

答案 1 :(得分:0)

你应该在

上做你的事情
  

TabIndexChanged

如果要在第3个选项卡上加载内容,例如,请在选项卡控件上处理TabIndexChanged,为每个tabPage.Index执行切换,然后在用户单击该选项卡时执行任何操作。

答案 2 :(得分:-1)

    private void tabPage1_Layout(object sender, LayoutEventArgs e)
    {
       //do something
    }