关于在标题栏不触发WM_NCLBUTTONUP事件的替代方法(C#)
2007-12-19 09:45
459 查看
由于在 标题栏不触发WM_NCLBUTTONUP事件,网上找了很久,都不知什么原因,希望知道的同志告之小弟。
现在我是用WM_NCMOUSEMOVE代替,由于在标题栏会触发WM_NCLBUTTONDOWN事件,所以在WM_NCLBUTTONDOWN事件里设置被按下的变量 b_MouseDown ,然后在WM_NCMOUSEMOVE 事件里检查 b_MouseDown ,具体如下:
private bool b_MouseDown = false;
WM_NCLBUTTONDOWN = 0x00A1;
WM_NCMOUSEMOVE = 0x00A0;
protected override void WndProc(ref Message m)
...{
switch (m.Msg)
...{
case WM_NCMOUSEMOVE:
if (b_MouseDown)
...{
MessageBox.Show("这里写想在WM_NCLBUTTONUP事件做了事");
b_MouseDown = false;
}
break;
case WM_NCLBUTTONDOWN:
b_MouseDown = true;
break;
}
base.WndProc(ref m);
}
现在我是用WM_NCMOUSEMOVE代替,由于在标题栏会触发WM_NCLBUTTONDOWN事件,所以在WM_NCLBUTTONDOWN事件里设置被按下的变量 b_MouseDown ,然后在WM_NCMOUSEMOVE 事件里检查 b_MouseDown ,具体如下:
private bool b_MouseDown = false;
WM_NCLBUTTONDOWN = 0x00A1;
WM_NCMOUSEMOVE = 0x00A0;
protected override void WndProc(ref Message m)
...{
switch (m.Msg)
...{
case WM_NCMOUSEMOVE:
if (b_MouseDown)
...{
MessageBox.Show("这里写想在WM_NCLBUTTONUP事件做了事");
b_MouseDown = false;
}
break;
case WM_NCLBUTTONDOWN:
b_MouseDown = true;
break;
}
base.WndProc(ref m);
}
相关文章推荐
- WM_nclButtonDblClk响应标题栏事件_message
- 关于WM_NCLBUTTONUP
- 关于WM_NCLBUTTONUP消息
- c# 给button添加不规则的图片以及用pictureBox替代button响应点击事件的方法
- 关于采用默认方式处理WM_NCLBUTTONDOWN消息而“无法”产生WM_NCLBUTTONUP消息的问题
- 解决方案:c#鼠标离开到子控件也触发MouseLeave事件的解决方法
- Android的Button按钮,ACTION_UP事件不触发解决方案
- Android的Button按钮,ACTION_UP事件不触发解决方案
- bug分享 - 收不到WM_NCLBUTTONUP消息
- 关于把button加到UIImageView上后button无法响应单击事件的方法
- c# 给button添加不规则的图片以及用pictureBox替代button响应点击事件
- 关于Unity中NGUI的Checkbox复选框、Slider滑动条和Button的6种触发回调事件的方式
- C#中winform实现自动触发鼠标、键盘事件的方法
- WM_NCLBUTTONUP不正常响应
- 关于C#做出的小程序的调试细节 及 visible属性和几个C#中的事件方法
- c#中怎样实现当一个类实例的属性值改变时,触发事件调用另一个方法?
- 关于input的file框onchange事件触发一次失效的新的解决方法
- 关于input的file框onchange事件触发一次失效的新的解决方法
- Winform(C#)输入完毕后,按Enter键触发Button事件
- c#中实现当一个类实例的属性值改变时,触发事件调用另一个方法