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.206 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. |
sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats Juni 2024 Microsys Kramer Mausrad im Formular abschalten (Access) Deaktiviert das Mausrad in Access-Formularen. 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. |