Timer bei nicht antwort

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Timer bei nicht antwort

    Hallo,
    ich möchte es gerne so machen das wen nichts gemacht wird das dan nach 5 min ein Befehl ausgeführt wird. Wie kann ich das machen?

    Also wenn mann nichts auf dem Programm klickt oder so. Und wenn man dan wieder klickt wird es wieder zurück gesetzt.
    Starte im Form_Load einen 5-Minuten-Timer.
    Im Key_Down- und MouseMove-Event rufst Du eine Prozedur auf, in der der Timer gestoppt und neu gestartet wird.
    Im Timer_Tick-Event rufst Du das auf, was nach 5 Minuten NIX gemacht werden soll.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ok also in der Form_Load habe ich den Timer gestartet, nun weiß ich nicht wie ich die Prozedur machen soll. Also mann kann das ja so machen das der dan gestoppt werden soll. Aber wieder starten???

    Mann könnte vieleicht 2 Timer nehmen, und den ersten jede sekunde laufen lassen sodas der den timer immer startet und wen man dan ne taste drückt wird er gestoppt und sofort wieder gestartet.

    Edit by hal2000:
    - Vollzitat entfernt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    rabe0577 schrieb:

    Also mann kann das ja so machen das der dan gestoppt werden soll. Aber wieder starten?
    :rolleyes:

    VB.NET-Quellcode

    1. Timer1.Stop()
    2. Timer1.Start()
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ja das weiß ich, nur wenn ich die hintereinander packe bringt das ganze nichts.

    Oder???

    Achne dann resettet der den sozusagen...

    Wie kann ich den ein Keydown event mit allen tasten machen?

    Und das mit diesem mousemove geht irgendwie nicht.

    Edit: Ok, keydown geht. Jetzt muss ich nur noch das mit der Mouse hinkriegen.

    Edit 2: Also es ist jetzt so:

    Es soll ja ein WebBrowser werden. Und nur dann wenn ich mit meiner maus über die Freie Fläche fahre löst er erst einen befehl aus. Also wenn ich die maus nur im Browser bewege passiert nichts.

    Edit by hal2000:
    - Vollzitat entfernt.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „hal2000“ ()

    Wie hast Du denn das KeyDown und MouseMove hinbekommen?
    Wllche Objekte senden denn KeyDown- und MouseMove-Events?
    Wie werden Events aboniert?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany Öh...

    Hilft dir das was:

    VB.NET-Quellcode

    1. Private Sub Form1_Move(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MouseMove
    2. Timer1.Stop()
    3. Timer1.Start()
    4. End Sub


    VB.NET-Quellcode

    1. Private Sub Form3_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown
    2. If e.KeyCode Then
    3. Timer1.Stop()
    4. Timer1.Start()
    5. End If
    6. End Sub

    rabe0577 schrieb:

    Hilft dir das was:
    Wieso mir? Die Fragen waren an Dich gestellt.
    Ja, so ist es die richtige Richtung.
    Das musst Du natürlich für jedes Control Deiner GUI machen.
    Gib aber bitte Deinem Programm Option Strict On :!:
    Was bedeutet dies? Schmeiß das If einfach raus.

    VB.NET-Quellcode

    1. If e.KeyCode Then
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany

    Wie ich soll das If raus machen? So:

    VB.NET-Quellcode

    1. Private Sub Form3_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown
    2. Timer1.Stop()
    3. Timer1.Start()
    4. End Sub


    Also bei den Button und bei der Textbox kann ich das Me gegen den namen austauschen. nur wenn ich es beim Browser mache also so:

    VB.NET-Quellcode

    1. Private Sub Form3_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles WebBrowser1.KeyDown
    2. Timer1.Stop()
    3. Timer1.Start()
    4. End Sub

    Dann öffnet sich das programm nicht. da kommt dan immer eine Fehlermeldung.

    Wo finde ich den diese Option Strict On?

    rabe0577 schrieb:

    Option Strict On
    1. auf Datei-Ebene (gilt nur für diese Datei):

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class MyClass
    3. ' ...
    4. End Class
    2. auf Projektebene: Projekt -> Eigenschaften -> Kompilieren (gilt nur für dieses Projekt):

    3. auf Studio-Ebene: Tools -> Options -> Projects and Solutions -> VB Defaults (gilt für alle neuen Projekte):

    rabe0577 schrieb:

    da kommt dan immer eine Fehlermeldung.
    Welche?
    In welcher Zeile?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!