Détecter click "long" bouton [Résolu]

Messages postés
5
Date d'inscription
lundi 20 octobre 2008
Dernière intervention
20 juin 2009
- 24 mars 2009 à 14:45 - Dernière réponse :
Messages postés
835
Date d'inscription
samedi 15 novembre 2008
Dernière intervention
14 janvier 2017
- 28 mars 2009 à 09:39
Bonjour à tous,

J'ai deux boutons de chaque côté d'une progressbar continue, l'un pour incrémenter et l'autre pour décrémenter cette derniere (bouton + et -).
J'aimerais détecter un click long sur ces 2 boutons pour modifier la valeur de la progressbar à la manière d'un NumericUpDown, en augmentant progressivement la vitesse de défilement, car le pas est assez fin et le range grand. Le fait de cliquer à chaque fois pour incrémenter la progressbar demande beaucoup de temps surtout lorsqu'on doit aller loin.

Il y a certainement une combine avec les évenements MouseDown, MouseEnter, Click mais je n'arrive pas à la trouver.
Je pensais pouvoir récupérer les méthodes du composant NumericUpDown, mais je ne sais pas si on peut accéder au code du composant et si oui, comment faire.

Si qqun à un filon...Merci. 
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
835
Date d'inscription
samedi 15 novembre 2008
Dernière intervention
14 janvier 2017
- 28 mars 2009 à 09:39
3
Merci
Bonjour,

une solution consiste à armer un timer dans le mouse down et à le désarmer dans le mouse up
dans l'evenement du timer tu incremente un compteur (ou autre action)

essaye ça:
un bouton button3, un label label1 sur un form Form1

Timer timer=new Timer();
int count=0;

private void Form1_Load(object sender, System.EventArgs e)
{
timer.Enabled=false;
timer.Interval=10;
timer.Tick+=new EventHandler(timer_Tick);
}

private void button3_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
count=0;
timer.Start();
}
private void button3_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
timer.Stop();
}
private void timer_Tick(object sender, EventArgs e)
{
count++;
label1.Text=count.ToString();
}

C# is amazing, enjoy it!

Merci cs_Robert33 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_Robert33

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.