Kürzlich wurde im Forum gefragt, wie man eine bestimmte Aktion ausführen, wenn man auf einen Button klickt. Das besondere daran: die Aktion so so lange ausgeführt werden, wie der Button gedrückt gehalten wird. Variante 1: Public Class Form1 Private WithEvents oTimer As Timer Private Counter As Long Private Sub Button1_MouseDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown ' Timer starten If IsNothing(oTimer) Then oTimer = New Timer oTimer.Interval = 100 oTimer.Start() End Sub Private Sub Button1_MouseUp(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp ' Timer stoppen oTimer.Stop() End Sub Private Sub oTimer_Tick(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles oTimer.Tick ' Aktion ausführen ' hier Vartiable hochzählen Counter += 1 ' zum Test: Anzeige in der Titelzeile Me.Text = Counter End Sub End Class Variante 2: Public Class Form1 Private bMouseDown As Boolean Private Counter As Long Private Sub Button1_MouseDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown ' Aktion starten If Not bMouseDown Then bMouseDown = True Do While bMouseDown ' Aktion ausführen ' hier: Counter erhöhen Counter += 1 ' zum Test: Anzeige in der Titelzeile Me.Text = Counter ' ggf. kurz warten System.Threading.Thread.Sleep(100) ' Wichtig: damit man auf das MouseUp-Event reagieren kann Application.DoEvents() Loop End If End Sub Private Sub Button1_MouseUp(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp ' Aktion beenden bMouseDown = False End Sub End Class Dieser Tipp wurde bereits 13.720 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Tipp des Monats TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |