c# - 应用程序级别的通用上下文菜单

标签 c# custom-contextmenu

我有一个非常庞大的业务应用程序,其中包含几乎所有类型的控件 + 第三方控件。现在我有一个要求,我必须在任何控件(网格、单元格、行、树节点、按钮等...等...)上“ctrl + double click” 打开一个表单...

在 Winforms C#.Net 中是否可行。

我也试过这段代码,但没有帮助

const int WM_LBUTTONDBLCLK = 0x0203;//client area
const int WM_NCLBUTTONDBLCLK = 0x00A3;//non-client area
protected override void WndProc(ref Message m)
{
  if (m.Msg == WM_LBUTTONDBLCLK)
    return;
  if (m.Msg == WM_NCLBUTTONDBLCLK)
    return;
  base.WndProc(ref m);
}

我不确定我是否可以在应用程序级别创建通用上下文菜单 谢谢。

最佳答案

您将不得不为此使用键盘和鼠标 Hook 。

这里有一些很棒的文章可以帮助您入门。

Processing Global Mouse and Keyboard Hooks in C#

WPF, low-level keyboard hook sample

关于c# - 应用程序级别的通用上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10613389/

相关文章:

android - 创建自定义上下文菜单

qt - 自定义 Qt QMenu

windows - 在 Windows 中为特定文件扩展名添加上下文菜单项

c# - 使用 C# 发送消息可以在本地工作,但实时失败

c# - 运行时自定义属性泛型

c# - C#中 '@'的所有用法是什么?

C# 构造函数

c# - 如何在 C# 中访问 Outlook 电子邮件附件而不将其保存到新位置?