Le but de ce programme est de permettre à un utilisateur d'allumer un certain nombre de LED sur un panneau en les choisissant à l'écran. J'ai un tableau de boutons construit où actuellement, un utilisateur doit cliquer sur tous les boutons individuellement. Le tableau contient 1536 LED, c'est beaucoup de clics. J'aimerais que l'utilisateur puisse maintenir le bouton de la souris enfoncé et allumer toutes les DEL qu'ils croisent. Je veux dire quelque chose comme:Mouse Event Handler
buttonArray[row, column].MouseLeave += new System.Windows.Forms.MouseEventHandler(ClickButton);
Et alors une routine comme:
private void ClickButton(Object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button==MouseButtons.Left)
{
//blah blah
}
}
qui déclenchera une fois que la souris de l'utilisateur va sur un bouton, puis je vais vérifier pour voir si elles tenaient le bouton. En ce moment, je reçois cette erreur:
Error 1 Cannot implicitly convert type 'System.Windows.Forms.MouseEventHandler' to 'System.EventHandler'.
On dirait que je n'ai pas le match droit de délégué et gestionnaire, ou que je ne comprends pas la chose namespace ... un peu nouveau pour C#. Je suis tombé sur le MSDN pendant un moment maintenant et je trouve plein d'exemples qui ressemblent au mien.
Un programme de peinture n'utilise pas de contrôle pour chaque pixel. Votre programme est juste un programme de peinture avec des pixels gras. Arrêtez d'utiliser les contrôles, le reste est simple. –
Un problème que vous allez avoir avec la façon dont vous essayez ceci est l'événement 'MouseLeave' ne sera pas tiré alors que le bouton de la souris est en panne. Le contrôle qui reçoit l'événement MouseDown capture la souris jusqu'à ce que le bouton soit activé. Vous avez vraiment besoin de regarder dans la suggestion de Hans. –