C#Tab控制空格双击

时间:2016-09-04 21:14:04

标签: c# winforms click tabcontrol double-click

我正在编写一个C#WinForm应用程序。我有一个Tab Control,我已经预设了所有功能,例如按菜单添加新标签,双击标签删除。我现在的问题是,每次双击选项卡控件的空灰色空间时,我都想创建一个选项卡。

我现在已经搜索了大约一个小时,而且我发现很多我正在处理的是WPF,而我很快就不会深入研究这些内容。因此,我正在寻找适合检测双击的方法。我已经尝试double clickmouse double click双击工作在选项卡上,鼠标双击执行相同的操作,除了它捕获鼠标事件参数。那么我就可以使用

e.Location

除了它只提供标签本身的信息。任何人有任何建议,以捕获标签本身外的双击?我尝试过在鼠标上双击窗户本身的父母,尝试创建一个完全不透明的元素,可以处理点击,但我每次都碰到了一堵砖墙。

 private void Tabs_MouseDoubleClick(object sender, MouseEventArgs e)
 {
      //only works when double clicking tabs
      MessageBox.Show(e.Location.ToString());
 }

1 个答案:

答案 0 :(得分:3)

似乎TabControl的一部分对鼠标是透明的,所有鼠标事件都通过该部分,并且将由部件后面的控件接收。

作为一种变通方法,您可以将TabControl放在Panel中,并将Dock的{​​{1}}属性设置为TabControl,并设置句柄{{ 1}}事件Fill。您还可以选择鼠标挂钩,但我相信面板选项更简单。

控件的鼠标 - 透明部分在下图中以红色显示。控制边界也是该区域的一部分。

enter image description here