2010-12-09 77 views
4

Je développe en C# sur le .NET Framework. J'ai déjà un événement sur Button qui se passe en un clic. Je veux aussi avoir un événement sur Double Click pour le même bouton.Comment créer un événement double-clic personnalisé pour un bouton

Comment créer un événement Double-clic sur le bouton? J'ai essayé avec cela, mais il ne fonctionne pas:

this.SetStyle(ControlStyles.StandardDoubleClick, true); 
this.button1.DoubleClick += new System.EventHandler(button1_DoubleClick); 

private void button1_DoubleClick(object sender, EventArgs e) 
{    
    MessageBox.Show("You are in the Button.DoubleClick event."); 
} 
+0

Que voulez-vous dire ne fonctionne pas? Quelle est l'erreur spécifique? Erreur d'exécution? Compiler l'erreur? – SpeksETC

+0

Quand je clique sur le bouton ... MessageBox ne montre pas ... – Thorusan86

+0

@SpeksETC Je m'attendrais à ce qu'il s'agisse d'une erreur de compilation, car l'événement n'est pas déclaré sur la classe 'Button' ... –

Répondre

3

Le contrôle Button (en supposant que vous êtes dans une application WinForms) ne prend pas en charge un double clic comme un événement natif. Vous devrez créer votre propre contrôle, peut-être en héritant du bouton fourni par le framework, et être à l'écoute de deux clics dans le délai imparti, avant de déclencher votre événement DoubleClick.

+0

En plus de cette réponse, le 'this.SetStyle' que fait votre code s'applique à **' Form' ** votre bouton est hébergé sur, pas le bouton lui-même. Pour que cela fonctionne, vous devrez sous-classer le contrôle 'Button' dans votre propre classe personnalisée, définir ce style et déclencher l'événement' DoubleClick', comme l'explique Rowland. –

+0

Merci pour tout :) – Thorusan86