2010-01-10 10 views
0

Je construis un dragueur de mines et éprouvais des difficultés avec l'événement souris. Dans le Windows Minesweeper d'origine, l'utilisateur peut cliquer et faire glisser la souris tout en appuyant sur. Les nouvelles mosaïques que l'utilisateur entre tout en appuyant sur la touche permettent de passer à une vignette effacée et la vignette précédente revient à ce qu'elle était si elle n'avait pas été cliquée. Sur VB.Net, quand je clique et que je tente de passer la souris sur une autre tuile tout en appuyant sur, les autres tuiles sur lesquelles je suis n'apparaissent pas vides comme dans le dragueur de mines original. Une idée sur ce que je pourrais faire pour résoudre ce problème? Désolé pour ce John Saunders, je suis nouveau sur ce site. Merci de m'avoir conseillé.Événement Click Click (WinForms)

+0

Je l'ai déjà fourni le MouseDown, MouseUp, MouseEnter et MouseLeave de faire des choses. MouseDown indique au programme qu'une tuile a été cliqué et lorsque la souris est en place, puis nous effectuons un code qui vérifie si la tuile est une bombe et si vous marquez ou gagnez ou perdez MouseEnter change la vignette ure et ainsi le MouseLeave. MouseUp a aussi quelques événements avec les images. Le problème est que je ne peux pas cliquer et déplacer la souris sur les tuiles et obtenir les mêmes résultats que dans le Minesweeper original. – user247337

+1

Veuillez ne pas utiliser de commentaires à cette fin. Si vous avez plus d'informations, éditez votre question originale. En outre, FYI, il n'y a pas d'événement de clic VB.NET. Il existe un événement de clic .NET et vous écrivez votre code dans VB.NET. –

Répondre

1

Vous devez fournir plus de détails.
J'ai deviné la structure de votre code et je réponds en fonction de mes suppositions.

Vous manipulez probablement l'événement MouseClick et basculez les tuiles.

Vous devez gérer l'événement MouseMove, et, si le bouton de la souris enfoncé (suivre ce dans MouseDown et MouseUp, définir une variable qui est lu dans votre événement Paint pour dessiner la tuile.
Vous pouvez également consulter la MousePosition biens en cas Paint au lieu de la manipulation MouseMove.