本来以为是别的原因,最后发现是自绘button的原因,
自绘的只是画了背景图片上去, 请问是不是少处理什么了, 点击响应速度比微软的button慢很多。

解决方案 »

  1.   

    那你就把图片搞到微软的button上呗
      

  2.   

    我是直接继承control重绘的, 继承button的话样式达不到效果
    在网上搜了下,有一些VC的重绘说要把双击变单击(http://bbs.csdn.net/topics/70483582),
    但是C#好像没有相关的。
      

  3.   

    解决了, 在button类加上这段代码, 把双击转成单击
            protected override void WndProc(ref Message m)
            {
                if (m.Msg == 0x0203)
                {
                    m.Msg = 0x0201;
                }            base.WndProc(ref m);
            }
    不知道为什么这样之后鼠标点击反应速度变快了, 有高手解释下吗?
      

  4.   


    搞了 半天 你说的是这个反应慢、、、
    你双击两下 其实 只会处理执行一次 单击  因为第二次单击触发双击事件去了
    所以 你的双击 只当做单击
    没有必要重写消息循环
    直接 override OnDoubleClick 在里面 this.OnClick(e)再次调用一下单击就搞定了0x203 -》 WM_LBUTTONDBLCLK = 0x203 201是WM_LBUTTONDOWN 我想根据变量的名称也不用解释啥了
    - -!、、顺便说一句 我很反感那种 win32 的常量直接写值来用 而不用变量的   如果是203 201 这些什么的到还知道 如果是其他的   或许 压根就不知道 是个什么、、