-
Daywalker2004
Gast
Tastatur und Mausabfrage mit VB.Net
Hallo
ich muss für die schule eine art bibliothel verwaltung programmieren, bei der man sich auch einloggen muss. ich möchte jetzt gerne wenn man 3 min keine tastatuareingabe oder mausbewegung macht, dass das programm wieder auf die login-form springt. sozusagen wie nen timeout bei browsergames oder ähnlichen. bin über jede hilfe dankbar.
mfg
Daywalker2004
-
Mario185
Gast
Hallo!
Also es geht wie folgt:
Als Erstes musst du bei den Eigenschaften der Form
KeyPreview auf True setzen. Das heisst dass jede Tastatur eingabe egal in welchem Objekt von dem Formular zuerst behandelt wird.
Jetzt fügst du einen Timer hinzu, ist als standart Steuerelement voranden.
Die Eigenschaften von dem Stellst du wie folgt ein:
Enabled auf True
Interval auf 1000 (1000 = 1 Sekunde)
Ein Beispiel:
Dim TimeOut As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TimeOut = 0
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
TimeOut = 0
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
TimeOut = 0
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
TimeOut = TimeOut + 1
If TimeOut >= 180 Then '180 sind 3 Minuten
' Auslogen
End If
End Sub
Ich hoffe ich konnte dir helfen
mfg little
-
Daywalker2004
Gast
Erstmal danke für deine Hilfe. Also dass nach ein 3 min ausgeloggt wird klappt, nur das macht er immer, auch wenn ich die mausbewege oder tastatuteingaben machen.
-
Mario185
Gast
Also ich glaub jetz hab ichs
Folgendes:
Public TimeOut As DateTime
Public SECONDS As Integer = 6 'Anzahl an Sekunden
Private Sub Benutzerprofil_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
TimeOut = DateTime.Now.AddSeconds(SECONDS)
End Sub
Private Sub Benutzerprofil_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
TimeOut = DateTime.Now.AddSeconds(SECONDS)
End Sub
Private Sub tmrLogOut_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrLogOut.Tick
Me.Text = TimeOut.ToString() + " " + DateTime.Now.ToString()
If TimeOut.ToString() = DateTime.Now.ToString() Then '60 sind 1 Minute
Login.Show()
End If
End Sub
und im Kundenladen musst du das noch einfügen bzw. ändern:
Von: TimeOut = 0
auf: TimeOut = DateTime.Now.AddSeconds(SECONDS)
So hats bei mir funktioniert
Berechtigungen
- Neue Themen erstellen: Ja
- Themen beantworten: Ja
- Anhänge hochladen: Ja
- Beiträge bearbeiten: Ja
-
Foren-Regeln