我已经完全编写了我的扫雷程序;然而,当用户在仍然右键单击的情况下单击和移动鼠标时,我很难获得与原始扫雷程序相同的结果。您可能会注意到,在最初的扫雷程序中,当用户按照说明操作时,用户转到的磁贴将显示为空白。如果用户松开鼠标,他们悬停到的当前磁贴将成为被单击的磁贴。在我的扫雷程序中,我点击的磁贴是唯一一个看起来是空白的,当我将鼠标悬停在下一个磁贴上时,它们不会像我点击的第一个磁贴那样变得空白。然后,当我在切换到另一个磁贴时松开鼠标按键时,我单击的第一个磁贴就是未覆盖的磁贴。这是我已经使用过的。我有一个MouseDown事件,它检查游戏是否已经开始,以开始游戏计时器。当我单击磁贴时,它也有一些关于磁贴的颜色属性,我根据用户的左击或右键将布尔值设置为true或false。我有一个MouseUp事件,它通过查看布尔值来确定用户在鼠标上点击了什么,这样我就知道我是标记了还是简单地单击来揭开。然后我有MouseEnter和MouseLeave,这是需要产生适当的光晕我想要的瓷砖。我应该怎么做,以获得相同的结果,因为在原来的扫雷与MouseDown和MouseEnter到其他瓷砖?我尝试了许多其他的东西,比如MouseEnter,MouseMove和MouseHover,但似乎都产生了和我已经有的一样糟糕的结果。
只是另一条信息,MouseEvents被内置到UserControl中,然后我将其用作扫雷程序中的磁贴。几乎就像当一个事件处于活动状态时,不能同时执行另一个事件一样。
发布于 2010-01-11 00:54:33
您可能需要考虑,DragOver和拖动相关事件
https://stackoverflow.com/questions/2037298
复制相似问题