我正在使用C#进行Winform应用程序,并且我在标签控件中有一些标签页,例如tabPage1
,tabPage2
和tabPage3
,并且选择了tabPage1
我想在点击任何标签页标题时触发事件,但我只能在页面更改(使用SelectedIndexChanged
)中执行此操作,但不能点击选定的标签页标题。
我尝试了Selecting
和Selected
个事件,但两个都没有效果。我在MSDN上搜索但没有在页眉上找到任何Click
事件。那我该怎么做呢?
还有一个问题,是否有可能以及如何在所选标签页上检测DoubleClick
?
答案 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
}