繁体   English   中英

C# Tab 控件空白区域双击

[英]C# Tab Control Empty Space Double Click

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

我已经搜索了大约一个小时,我发现很多东西都是与 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());
 }

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

因此,作为一种解决方法,您可以将TabControl放在Panel ,并将TabControlDock属性设置为Fill ,并设置Panel的句柄DoubleClick事件。 您还可以选择鼠标挂钩,但我相信面板选项更简单。

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM