C# 窗体内的所有双击事件

w5a1v9 2014-08-06 05:59:21
怎么捕获一个窗体内的所有双击事件啊?
...全文
846 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
nishuine332 2014-08-07
  • 打赏
  • 举报
回复
不晓得你捕捉双击事件的目的。你可以自定义一个事件,所用按钮双击事件都注册此事件。
Peng_baoqing 2014-08-07
  • 打赏
  • 举报
回复
重写WndProc方法 然后拦截WM_LBUTTONDBLCLK = 0x203;事件
phommy 2014-08-07
  • 打赏
  • 举报
回复

            EventHandler handler = (o, e1) => MessageBox.Show("鼠标双击");

            Action<Control.ControlCollection> addListener = null;
            addListener = (cs) =>
            {
                foreach (Control item in cs)
                {
                    item.DoubleClick += handler;
                    addListener(item.Controls);
                }
            };

            addListener(Controls);
adawoo 2014-08-07
  • 打赏
  • 举报
回复
private const int WM_LBUTTONDBLCLK = 0x203;
protected override void WndProc(ref Message m)
        {
            switch (m.Msg)
            {
                case WM_LBUTTONDBLCLK:
                    MessageBox.Show("鼠标双击");
                    break;
                
            }
            base.WndProc(ref m);
        }
w5a1v9 2014-08-07
  • 打赏
  • 举报
回复
引用 1 楼 gwhzh 的回复:
捕捉窗口鼠标双击事件吧。再根据鼠标的位置来判断在那个控件上面做的。再做处理。
窗口里有控件时,双击事件就发生在控件上(不会发生在窗口),所以不用判断,而我想要的是在窗口上触发
w5a1v9 2014-08-07
  • 打赏
  • 举报
回复
引用 2 楼 andywangguanxi 的回复:
能否将双击事件的处理函数都统一起来,根据参数sender来判断是哪个控件触发的呢?比如有Button1和Button2,他们的doubleclick事件都委托到Button_DoubleClick,在Button——DoubleClick中判断哪个Button触发的,再去做相应处理。
对窗口的每个控件都处理的话太麻烦了,想找个比较简洁的解决方法
w5a1v9 2014-08-07
  • 打赏
  • 举报
回复
引用 3 楼 caozhy 的回复:
重写窗体的wndproc,以及对所有控件作subclass,拦截消息处理。
不是很明白,大侠能不能稍微展开、详细地说说怎么个消息拦截法,或者给点相关资料的链接
threenewbee 2014-08-06
  • 打赏
  • 举报
回复
重写窗体的wndproc,以及对所有控件作subclass,拦截消息处理。
EdsionWang 2014-08-06
  • 打赏
  • 举报
回复
能否将双击事件的处理函数都统一起来,根据参数sender来判断是哪个控件触发的呢?比如有Button1和Button2,他们的doubleclick事件都委托到Button_DoubleClick,在Button——DoubleClick中判断哪个Button触发的,再去做相应处理。
gwhzh 2014-08-06
  • 打赏
  • 举报
回复
捕捉窗口鼠标双击事件吧。再根据鼠标的位置来判断在那个控件上面做的。再做处理。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧