我目前正在研究WinForms NumericUpDown Control的子类。但是因为它们构建它所以它包含多个子控件,它会弄乱MouseLeave和MouseEnter事件。
当鼠标移动到控件边界时,MouseEnter将在鼠标移过其中一个子控件(例如向上和向下箭头按钮)时触发,然后触发MouseExit。除此之外,MouseExit有时根本不会触发,特别是当鼠标快速移出控制范围时... ...
如何才能正常启动事件或解决此问题?
编辑:
这是一个简单的代码示例:
public class TMNumericUpDownControl : NumericUpDown
{
public TMNumericUpDownControl()
{
MouseEnter += MouseEnterHandler;
MouseLeave += MouseLeaveHandler;
}
private void MouseEnterHandler(object sender, EventArgs e)
{
Debug.WriteLine("entered");
}
private void MouseLeaveHandler(object sender, EventArgs e)
{
Debug.WriteLine("Left");
}
}
答案 0 :(得分:0)
好的,我自己就知道了。
我注意到我可以通过NumericUpDownName.Controls
访问NumericUpDowns子控件,并为它们分配事件处理程序。以为这是不可能的......
这意味着这实际上是一个重复的问题。