![]() |
1
1
我会非常小心的。如果事件数据包含只与原始事件相关的内容,则其他事件处理程序可能会被此数据混淆。尤其是当涉及到来自外部设备(如鼠标)的事件时。 也许你发布的这个例子没问题,我不知道。但我可以肯定地看到,如果换一种方式,当鼠标向上移动时,鼠标向下移动会出现问题——鼠标向下处理程序可以(可能,我不知道是否这样做)查询输入设备,以了解该鼠标的实际状态,但它们不匹配。或者在鼠标上做一些只有在按下时才起作用的操作。 总而言之:这可能有效,但我不会依赖它,除非你100%确信它在某些条件下不会破裂。 |
![]() |
2
2
如果有一个新的事件或方法,OnMouseLeftButtonDown和OnMouseLeftButtonUp都可以调用,并且有一个合适的名称来说明您的意图,那就更好了。正如现在的代码所显示的那样,控制基本上是在撒谎,只要你的客户从来没有对你的虚张声势吹毛求疵,并且相信你是诚实的,这才有效。使用更复杂的代码会导致非常令人沮丧的调试会话。更好的方法是对代码进行结构和命名,这样您就可以表达自己的意图,而不是撒谎以获得方便的副作用。 |
![]() |
3
1
我看不出你为什么不能这样做的任何原因,你只是在基类上调用一个方法。在某个地方有一个wndproc(),它接收实际的Windows消息并将其转换为您正在进行的相同调用。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 5 月前 |
![]() |
CactusCake · if语句中应有分号 6 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 7 月前 |