C# 事件穿透 事件冒泡 鼠标点击后在父级控件捕获
2015-07-15 15:41
447 查看
public partial class UcIssueBill : UserControl, IMessageFilter
{
……………………
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == 0x201)//鼠标左键单击
{
Control ctrl = Control.FromHandle(m.HWnd);
bool found = false;
if (null != ctrl)
{
while (null != ctrl.Parent)
{
if (ctrl.Parent == this)
{
found = true;
break;
}
ctrl = ctrl.Parent;
}
if (found)
{
this.com_Click(this, new EventArgs());
}
}
return false;
}
}
{
……………………
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == 0x201)//鼠标左键单击
{
Control ctrl = Control.FromHandle(m.HWnd);
bool found = false;
if (null != ctrl)
{
while (null != ctrl.Parent)
{
if (ctrl.Parent == this)
{
found = true;
break;
}
ctrl = ctrl.Parent;
}
if (found)
{
this.com_Click(this, new EventArgs());
}
}
return false;
}
}
相关文章推荐
- C#通过windows注册表获取软件清单的方法
- C#实现利用Windows API读写INI文件的方法
- C#图片加文字、图片水印
- BC#42第一题
- c# 对一下XML文档进行添加删改的实例
- C#学习笔记(十二):正则表达式
- C#通过流写入一行数据到文件的方法
- BC#29第一题
- C# Socket简单例子(服务器与客户端通信)
- C#64位加密/解密
- BC#34-第一题
- Linq-C#左连接
- C# Socket
- C#读取设置Cookie(转)
- C# 对象 序列化 XML
- C# Winform应用程序调用Microsoft RDP client control实现远程连接(VS2013)
- C# GetType和typeof的区别
- C#编程 井字游戏
- 读改善c#代码157个建议:建议1~3
- [深入学习C#]C#实现多线程的方法:线程(Thread类)和线程池(ThreadPool)