今天遇到了一个问题,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

最新文章

  1. Raspberry Pi(树莓派)国内软件源
  2. WCF分布式开发步步为赢(5)服务契约与操作重载
  3. http://www.ruanyifeng.com/blog/2007/03/metadata.html
  4. Swift语法
  5. Knockout快速扫盲
  6. 用Chart控件绘制动态图表
  7. 第一天学习oc用xcode做的一个加减乘除 圆的面积计算
  8. ValueObject
  9. c# 画布验证码
  10. March 09th, 2018 Week 10th Friday
  11. ehcache 简介和基本api使用
  12. Appium+Java(一) Windows环境搭建篇
  13. poj 2528 (线段树+特殊离散化)
  14. SQL语句的增删改查(详细)--转载
  15. 插件式程序开发及其应用(C#)
  16. AngularJs ng-repeat重复项异常解决方案
  17. Oracle 体系结构五
  18. Mware中CentOS设置静态IP
  19. 文本情感分类:分词 OR 不分词(3)
  20. 根据用户id生成一个唯一邀请码

热门文章

  1. 记一次线上FGC问题排查
  2. java 进阶P-3.7
  3. java 入门与进阶P-6.3+P-6.4
  4. Ubuntu玩机记录,让我破电脑又飞起来了
  5. C#DataTable(转List /JSON/字典 互转)
  6. saas解决redis数据库分离的一种方案
  7. 【一句话】Java8后abstract class和interface的区别
  8. JavaScript 函数所能传递的最大参数
  9. Python 发展趋势:与 Rust 深度融合、更易于编写 Web 应用
  10. Linux基础之用户、组和权限管理