Kann man in Visual Studio einen button sichtbar machen, wenn sich die Maus bewegt?
Hallo,
Ich möchte wie schon im Titel geschrieben einen Button sichtbar machen sobald sich die Maus irgendwo in der Form bewegt. Wenn sich die Maus 2 Sekunden lang nicht bewegt soll der Button wieder unsichtbar werden.
Geht das?
Ich möchte wie schon im Titel geschrieben einen Button sichtbar machen sobald sich die Maus irgendwo in der Form bewegt. Wenn sich die Maus 2 Sekunden lang nicht bewegt soll der Button wieder unsichtbar werden.
Geht das?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 285794
Url: https://administrator.de/contentid/285794
Ausgedruckt am: 26.11.2024 um 08:11 Uhr
5 Kommentare
Neuester Kommentar
siehe Form_MouseMove Event
dazu einen Timer als Modulvariable
dazu einen Timer als Modulvariable
Public Class Form1
Private WithEvents mTimer As New Timers.Timer(500) '500 ms
Private mLastMouseMove As Date = Now.AddSeconds(-10)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
mTimer.Start() 'Timer starten
End Sub
Private Sub mTimer_Elapsed(sender As Object, e As Timers.ElapsedEventArgs) Handles mTimer.Elapsed
If DateDiff(DateInterval.Second, mLastMouseMove, Now) >= 2 Then
Me.SetVisibleState(Button1, False) 'Button verbergen
End If
End Sub
Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
Static µLastLocation As New Point(0, 0) 'Speicher für die letzte bekannte Maus-Position
If e.Location <> µLastLocation Then
µLastLocation = e.Location 'Maus-Position merken
mLastMouseMove = Now 'merken, wann die Maus zuletzt bewegt wurde
Me.SetVisibleState(Button1, True) 'Button sichtbar
End If
End Sub
Private Sub SetVisibleState(ByVal xControl As Control, ByVal NewState As Boolean)
If Me.InvokeRequired Then
Me.Invoke(New Action(Of Control, Boolean)(AddressOf Me.SetVisibleState), xControl, NewState)
Else
xControl.Visible = NewState
End If
End Sub
End Class