Détecter click "long" bouton

Résolu
cs_bigger Messages postés 5 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 20 juin 2009 - 24 mars 2009 à 14:45
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre 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. 
A voir également:

1 réponse

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
28 mars 2009 à 09:39
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!
3
Rejoignez-nous