我正在使用 .Net Compact Framework 2.0 SP2 和 C#开发WinForm Windows Mobile 5.0或更高版本。
我有两个自定义控件(两个继承自Control的类)。如果我点击control1的特定位置,它会显示control2(control2是control1的控件)。换句话说,control2是一个弹出菜单,显示在control1上。
Control2有两个linklabel。如果用户点击其中一个,control2会抛出一个事件来通知control1有关用户的选择。
在control1上,我已经覆盖了OnMouseDown,OnMouseUP和OnMouseMove。
确定。我在用户点击control2上的linklabel的情况下调试了代码。活动结束:
如果我点击control2而不点击链接标签,它也会抛出control1.OnMouseMove和control1.OnMouseUp。
更新:
如果点击 control2 ,为什么在 control1 上触发OnMouseMove和OnMouseUp?
谢谢!
答案 0 :(得分:1)
这是对的。鼠标按下控件2.控件2消失,因此在现在可见的控件(Control1)上调用相应的MouseUp。
为了避免这种情况,两者都可以解决:MouseUp或MouseDown不是两者的组合。