cs_gulix
Messages postés25Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention14 mars 2005
-
8 janv. 2005 à 13:44
cs_gulix
Messages postés25Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention14 mars 2005
-
8 janv. 2005 à 19:01
Voilà mon problème : j'ai une NotifiyIcon pour mon programme, et j'ai associé des événements au Click et au DoubleClick
Seulement, quand je DoubleClick l'icone, l'événement associé au
doubleClick se lance bien, mais l'événement lié au Click aussi. Y
a-t-il un moyen d'éviter cela ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 8 janv. 2005 à 13:56
Le double clic n'étant après tout qu'un clic suivit d'un autre je ne pense pas qu'on puisse eviter la levée de l'event Click
Le tout est de ne pas se servir des 2 en même temps.
cs_gulix
Messages postés25Date d'inscriptionlundi 31 mars 2003StatutMembreDernière intervention14 mars 2005 8 janv. 2005 à 19:01
Malheureusement, c'est bien la réponse à laquelle je m'attendais...
mais j'ai trouvé une méthode qui permet de pallier à ce problème :
public MaClasse() // Le constructeur de la classe
{
// Le reste de votre code
timer1.Interval = SystemInformation.DoubleClickTime;
}
private void GestionnaireClick()
{
// Votre code à exécuter après un Click
}
private truc _Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private truc_DoubleClick(object sender, EventArgs e)
{
timer1.Enabled = false;
// Votre code à exécuter après un DoubleClick
}
Ce code utilise en fait un timer, qui est déclenché quand un click est exécuté, et qui s'arrête sur un doubleClick. Si, avant qu'il ne s'arrête, l'intervalle pour le DoubleClick est passé, l'événement du Click se réalise.
Ce n'est pas une solution sans faille, puisque si l'intervalle pour le DoubleClick est grand, il faudra attendre avant que l'événement du Click ne se réalise.
De plus, le Click est exécuté sur les clics droit comme gauche, donc veillez à prendre en compte cela !