VB.NET Minesweeper问题

时间:2010-01-10 14:37:37

标签: vb.net mouseevent

我已完全编程了我的扫雷;然而,当用户点击并在仍然右键单击的同时移动鼠标时,我在尝试获得与原始扫雷中相同的结果时遇到了困难。您可能会注意到,在原始扫雷中,当用户按照说明操作时,用户前往的切片将显示为空白。如果用户释放鼠标,则他们悬停的当前图块将成为单击的图块。在我的扫雷中,我点击的瓷砖是唯一一个看起来空白的瓷砖,当我将鼠标悬停在下一个瓷砖上时,它们不会像我点击的第一个一样空白。然后,当我将鼠标按钮移到另一个磁贴上时,我点击的第一个磁贴是未被覆盖的磁贴。这是我已经使用过的。我有MouseDown事件,它检查游戏是否已经开始游戏计时器。当我点击它们时它也有一些颜色属性,我将布尔设置为true或false,具体取决于用户左键或右键。我有MouseUp事件,它查看布尔值以确定用户点击鼠标的内容,因此我知道我是否标记或只是单击以显示。然后我有了MouseEnter和MouseLeave,它们需要产生我想要的瓷砖正确的光晕。我应该怎样做才能获得与使用MouseDown和MouseEnter进入其他图块的原始扫雷一样的结果?我尝试了许多其他的东西,比如MouseEnter,MouseMove和MouseHover,但似乎所有产生的结果都和我已经拥有的一样糟糕。

只是另一条信息,MouseEvents内置于UserControl中,然后我将其用作Minesweeper中的磁贴。它几乎就像一个事件处于活动状态时,另一个事件无法同时完成。

1 个答案:

答案 0 :(得分:1)

您可能需要考虑DragOver和Drag相关事件