AUTOMATIZAR BOTAO DE COMANDO

ACDONA 05/09/2010 23:22:20
#352313
Em um botao eu uso o seguinte comando no evento click:

if listbox1.SelectedIndex-1 > 0 then
listbox1.SetSelectedIlistbox1.SelectedIndex-1,True)
end if

com isso, cada vez que clico no botao, a selecao do listbox vai para o item anterior, ate chegar no primeiro.

Como fazer, para, se ficar segurando o botao pressionado, ele va voltando sozinho?
Tem como automatizar, ou tem que ficar clicando um a um mesmo?

obrigado
MARCOSLING 06/09/2010 09:11:15
#352321
Resposta escolhida
vc usa os eventos MouseDown e MouseUp

+/- assim:

Public Class Form1
Dim v_stop As Boolean

Private Sub Button1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
v_stop = False

Do While Not v_stop
If listbox1.SelectedIndex - 1 > 0 Then
listbox1.SetSelectedIlistbox1.SelectedIndex-1,True)
Else
v_stop = True
End If
Application.DoEvents()
Loop
End Sub

Private Sub Button1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
v_stop = True
End Sub
End Class

Obs.: vc precisa controlar a velocidade do loop, pois do jeito que está, vai bem rápido.
ACDONA 10/09/2010 18:12:49
#352673
Perfeito, era exatamente isso que eu precisava.
Coloquei um For Next no início do laço para deixar mais devagar.
Ficou assim:
For i = 1 to 50000000
Next
Ficou na velocidade que preciso
Muito obrigado pela sua atenção e solução.
Tópico encerrado , respostas não são mais permitidas