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.169 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (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 April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |