c# – 自定义按钮MouseLeave事件
发布时间:2020-12-15 21:13:41 所属栏目:百科 来源:网络整理
导读:我用一些面板和图片框制作了一个自定义按钮.使用MouseEnter和MouseLeave,我设置适当的悬停图像,如普通按钮. 问题是如果我在控件上移动鼠标太快,它有时不会触发MouseLeave事件.这样,按钮在悬停状态下被“锁定”. 截图问题: http://www.jesconsultancy.nl/ima
我用一些面板和图片框制作了一个自定义按钮.使用MouseEnter和MouseLeave,我设置适当的悬停图像,如普通按钮.
问题是如果我在控件上移动鼠标太快,它有时不会触发MouseLeave事件.这样,按钮在悬停状态下被“锁定”. 截图问题: 右侧的按钮被锁定在“悬停”状态. 我怎么解决这个问题? 谢谢. 解决方法
圣洁……那太乱了!
首先,UserControls非常错误.我建议你让你的控件继承自Control,然后自己绘制图像和文本. 其次,你为什么要用反射? 第三,为什么有那么多控件? 这会错过这个事件,因为更新需要太多! 这里有一些简单控制可能的代码,永远不会错过一个事件: using System; using System.Drawing; using System.Windows.Forms; namespace lol { public class BlackWhiteControl : Control { protected override void OnMouseEnter(EventArgs e) { base.OnMouseEnter(e); this.BackColor = Color.Black; } protected override void OnMouseLeave(EventArgs e) { base.OnMouseLeave(e); this.BackColor = Color.White; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |