winform Message应用
2024-10-21 03:42:09
今天遇到了一个问题,winform 中使用自定义控件时,希望在点击自定义控件时设置控件为选中状态。而且这个自定义控件在一个窗体中被创建多个。
但在自定义控件中添加子控件后,导致鼠标点击事件只能响应在子控件中。
方法1.用事件向父级传递 (如果找不到方法就准备这么干了!)
方法2 不添加控件 ,显示的东西都用画的 (这有点难啊)
方法3 利用Winform 的Message机制。在自定义控件中重写方法WndProc
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x21 || m.Msg == 0x202) // WM_MOUSEACTIVATE || WM_LBUTTONUP
MessageBox.Show("click");
base.WndProc(ref m);
}
实践证明方法3可以实现预期结果。
更详细的关于Message https://www.cnblogs.com/zutian/p/11135581.html
最新文章
- Raspberry Pi(树莓派)国内软件源
- WCF分布式开发步步为赢(5)服务契约与操作重载
- http://www.ruanyifeng.com/blog/2007/03/metadata.html
- Swift语法
- Knockout快速扫盲
- 用Chart控件绘制动态图表
- 第一天学习oc用xcode做的一个加减乘除 圆的面积计算
- ValueObject
- c# 画布验证码
- March 09th, 2018 Week 10th Friday
- ehcache 简介和基本api使用
- Appium+Java(一) Windows环境搭建篇
- poj 2528 (线段树+特殊离散化)
- SQL语句的增删改查(详细)--转载
- 插件式程序开发及其应用(C#)
- AngularJs ng-repeat重复项异常解决方案
- Oracle 体系结构五
- Mware中CentOS设置静态IP
- 文本情感分类:分词 OR 不分词(3)
- 根据用户id生成一个唯一邀请码