再问,如何通过消息机制禁用button的click事件

旋转的螺丝 2011-12-19 09:59:11
如题,在线等高手
...全文
103 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
朕赐你肥皂 2011-12-19
  • 打赏
  • 举报
回复
http://blog.csdn.net/fan158/article/details/6178392#comments
crazy_fishegg 2011-12-19
  • 打赏
  • 举报
回复
button.enable=false;
MJ_dangerous 2011-12-19
  • 打赏
  • 举报
回复
很明显:Button的Click时间是通过消息WM_LBUTTONDOWN来触发的,如果能做到在发送WM_LBUTTONDOWN消息的时候将其屏蔽掉,此时Button又不灰掉那就perfect了。
那么需要重写函数 PreProcessMessage

public override bool PreProcessMessage(ref Message msg)
{
if(msg.Msg==WM_LBUTTONDOWN)
   {
   //MessageBox.Show(msg.HWnd.ToString());
//当然这里还需要msg.HWnd == this.button1.Handle;
return false;
   }
   return base.PreProcessMessage(ref msg);
}

如此一来,应该是可以解决你的问题的。
hnfeitianwugui 2011-12-19
  • 打赏
  • 举报
回复
用委托。。。。
gomoku 2011-12-19
  • 打赏
  • 举报
回复
为什么跟用户过不去?
按钮,就是用来点击的。不让点击,把按钮禁用就可以了。

110,534

社区成员

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

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

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