.net - C# WinForms UserControl 鼠标事件帮助

标签 .net events controls

我有一个为我的项目创建的自定义控件。在此控件中有几个子控件,如 Label、PictureBox 和 LinkLabel。除了 LinkLabel,我希望当前在父控件上的鼠标悬停事件并让控件响应鼠标悬停。将鼠标悬停在控件上时背景颜色会发生变化,但在子控件上时背景颜色不会发生变化;这是因为子控件上没有 MouseEnter 和 MouseLeave 事件。我通过向子控件添加父控件委托(delegate)方法解决了这个问题。问题仍然是,当我订阅了父控件上的单击事件时,子控件上的单击事件也被忽略了。我可以订阅每个单独的子控件,但是如何强制父控件的单击事件?我通过搜索找到的术语是事件冒泡,但这似乎只适用于 ASP.NET 技术和框架。有什么建议吗?

最佳答案

根据您的描述,我相信您希望您的子控件和父控件都响应对子控件的点击。

如果我正确理解您的问题,我建议订阅您的子控件的单击事件,并在这些事件处理程序中调用一些以您希望的方式操纵父 UserControl 状态的常用方法(例如,更改背景颜色)。

关于.net - C# WinForms UserControl 鼠标事件帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/180363/

相关文章:

apache-flex - 柔性,柔性单元 : How to test that an event is dispatched twice?

java - 处理中的音量控制(java)?

c# - Visual Studio 中文字整数赋值的奇怪行为导致四个意外的编译器错误

c# - 无法对调用静态方法的方法进行单元测试,我该如何重新设计这个程序?

c# - 双字符串格式

javascript - 集合/数组中的事件

c# - 匿名委托(delegate)可以在事件被触发后取消订阅吗?

java - Android蓝牙远程控制项目指导

c# - 在表单中找到焦点控件(在 .netCF 中)

c# - SmtpClient 类未从 Web.Config 文件中获取默认参数