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

标签 c# winforms tabs

我正在用 C# 编写一个 Winform 应用程序,我在选项卡控件中有一些选项卡页,比如 tabPage1tabPage2tabPage3 , tabPage1 被选中。

我想在点击任何标签页标题时触发事件,但我只能在页面更改时触发事件(通过使用SelectedIndexChanged ) 而不是点击选定的标签页标题

我尝试了 SelectingSelected 事件,但它们都不起作用。我在 MSDN 上进行了搜索,但没有找到在页眉上定义的任何 Click 事件。那么我该如何实现呢?

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

最佳答案

只需使用选项卡控件的 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;
            }
        }
    }

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

关于c# - 单击选项卡控件的选定选项卡页眉时如何触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25478922/

相关文章:

java - 我不明白如何使用带有选项卡的操作栏 sherlock

c# - 来自 Spring 上下文的进度条?

c# - 确定可用带宽

c# - Linq OrderBy 不对原始集合进行排序吗?

c# - 从另一个窗体刷新Form1 dataGrid c# winform

android - 在 XML 中设置选项卡指示器

c# - NHibernate 和 C# : error using nested properties with Criteria

c# - 使带有内部修饰符的测试类对单元测试框架可见

c# - Thread.Sleep 或 Timer 用于显示每一步

Jquery 选项卡在单击按钮时重新加载内容