2010-01-10 2 views
0

Я строю тральщик и испытываю трудности с событием мыши. В исходном Windows Minesweeper пользователь может нажать и перетащить мышь, одновременно нажимая. Новые плитки, которые пользователь вводит, все еще нажимая на изменение очищенной плитки, а предыдущая плитка восстанавливается до того, что она была, если она не была нажата. На VB.Net, когда я нажимаю и пытаюсь навести курсор мыши на другую плиту, но все еще нажимаю, другие плитки, на которых я нахожусь, не выглядят пустыми, как в оригинальном тральщике. Любая идея о том, что я могу сделать, чтобы исправить эту проблему?.NET Click Event (WinForms)

Извините, что Джон Сондерс, я новичок на этом сайте. Спасибо, что посоветовал мне.

+0

Я уже поставил MouseDown, MouseUp, MouseEnter и MouseLeave делать некоторые вещи. MouseDown говорит программу, что плитка была нажата и когда мышь вверх, то мы выполняем код, который проверяет, является ли плитка бомбой, и если вы отмечаете или выигрываете или проигрываете. MouseEnter изменяет изображение плитки а также MouseLeave. MouseUp также имеет некоторые события с изображениями. Проблема в том, что я не могу щелкнуть и переместить мышь на плитки и получить те же результаты, что и в оригинальном Minesweeper. – user247337

+1

Пожалуйста, не используйте комментарии для этой цели. Если у вас есть дополнительная информация, измените исходный вопрос. Кроме того, FYI, нет события кликов VB.NET. Существует событие .NET click, и вы пишете свой код в VB.NET. –

ответ

1

Вам необходимо предоставить более подробную информацию.
Я догадался о вашей структуре кода и отвечаю на основании моих догадок.

Возможно, вы работаете с событием MouseClick и переключением плиток.

Вы должны обрабатывать MouseMove событие, и, если кнопка мыши была нажата (трек это в MouseDown и MouseUp, установить переменную, которая получает читать в вашем Paint случае сделать плитку.
Вы также можете проверить MousePosition свойства в Paint случае вместо обработки MouseMove.