none
Timer zum Schliessen einer Anwendung/eines Forms RRS feed

  • Frage

  • Wie kann ich einen Timer so programmierern, dass

    sich z.B. die Anwendung(z.B.Form1) nach einer

    bestimmten Zeit z.B. 10sek schließt?

    P.s. ich arbeite mit Visual Basic Express 2010!

    Freitag, 13. August 2010 13:08

Antworten

  • Hallo,

    Wie kann ich einen Timer so programmierern, dass
    sich z.B. die Anwendung(z.B.Form1) nach einer
    bestimmten Zeit z.B. 10sek schließt?

    P.s. ich arbeite mit Visual Basic Express 2010!

    Kopiere das nachfolgende Beispiel einfach in ein leeres
    Formmodul (Form1.vb)

    ' / Beginn Code Form1.vb
    Public Class Form1
        Private WithEvents mTimer As Windows.Forms.Timer
        Private mCounter As Integer
        Private mTimeOut As Integer

        Private Sub Form1_Load _
                (ByVal sender As System.Object, _
                 ByVal e As System.EventArgs _
                ) Handles MyBase.Load

            mTimeOut = 10
            mTimer = New Windows.Forms.Timer
        End Sub

        Private Sub Form1_Shown _
                (ByVal sender As Object, _
                 ByVal e As System.EventArgs _
                ) Handles Me.Shown

            mTimer.Interval = 1000
            mTimer.Start()

            Me.Text = _
                (mTimeOut - mCounter).ToString
        End Sub

        Private Sub Form1_FormClosing _
            (ByVal sender As Object, _
             ByVal e As System.Windows.Forms.FormClosingEventArgs _
            ) Handles Me.FormClosing

            If mTimer IsNot Nothing Then
                mTimer.Dispose()
            End If
        End Sub

        Private Sub mTimer_Tick _
                (ByVal sender As Object, _
                 ByVal e As System.EventArgs _
                ) Handles mTimer.Tick

            mCounter += 1
            Me.Text = (mTimeOut - mCounter).ToString
            If mCounter = mTimeOut Then
                mTimer.Stop()
                Me.Close()
            End If

        End Sub
    End Class
    ' \\\ E N T E

    Nach dem Programmstart siehst Du die Form1, in deren
    Titelleiste die noch verbleibende Zeit (10 Sek.) bis zum
    Programmende in Sekunden angezeigt wird.
    Nach Ablauf von 10 Sek. wird die Form geschlossen und
    das Programm damit beendet.

    Gruß aus St.Georgen
    Peter Götz
    www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

    • Als Antwort vorgeschlagen Giftzwockel Samstag, 14. August 2010 10:45
    • Als Antwort markiert foxtrottbravo Samstag, 14. August 2010 19:30
    Freitag, 13. August 2010 17:20
  • Hallo foxtrottbravo,

    Schau Dir mal diesen Code von Peter Götz an und ändere die Zeile mTimer.Interval = 2000 mit mTimer.Interval = 10000

    Das Form schließt sich dann nach 10 Sekunden.

    Lies auch folgenden Diskussionsfaden:

    Probleme mit FormClosing bzw. X-Schaltfläche

    Grüße,

    Robert

    • Als Antwort vorgeschlagen Giftzwockel Samstag, 14. August 2010 10:45
    • Als Antwort markiert foxtrottbravo Samstag, 14. August 2010 19:30
    Freitag, 13. August 2010 14:33

Alle Antworten

  • Hallo foxtrottbravo,

    Schau Dir mal diesen Code von Peter Götz an und ändere die Zeile mTimer.Interval = 2000 mit mTimer.Interval = 10000

    Das Form schließt sich dann nach 10 Sekunden.

    Lies auch folgenden Diskussionsfaden:

    Probleme mit FormClosing bzw. X-Schaltfläche

    Grüße,

    Robert

    • Als Antwort vorgeschlagen Giftzwockel Samstag, 14. August 2010 10:45
    • Als Antwort markiert foxtrottbravo Samstag, 14. August 2010 19:30
    Freitag, 13. August 2010 14:33
  • Hallo,

    Wie kann ich einen Timer so programmierern, dass
    sich z.B. die Anwendung(z.B.Form1) nach einer
    bestimmten Zeit z.B. 10sek schließt?

    P.s. ich arbeite mit Visual Basic Express 2010!

    Kopiere das nachfolgende Beispiel einfach in ein leeres
    Formmodul (Form1.vb)

    ' / Beginn Code Form1.vb
    Public Class Form1
        Private WithEvents mTimer As Windows.Forms.Timer
        Private mCounter As Integer
        Private mTimeOut As Integer

        Private Sub Form1_Load _
                (ByVal sender As System.Object, _
                 ByVal e As System.EventArgs _
                ) Handles MyBase.Load

            mTimeOut = 10
            mTimer = New Windows.Forms.Timer
        End Sub

        Private Sub Form1_Shown _
                (ByVal sender As Object, _
                 ByVal e As System.EventArgs _
                ) Handles Me.Shown

            mTimer.Interval = 1000
            mTimer.Start()

            Me.Text = _
                (mTimeOut - mCounter).ToString
        End Sub

        Private Sub Form1_FormClosing _
            (ByVal sender As Object, _
             ByVal e As System.Windows.Forms.FormClosingEventArgs _
            ) Handles Me.FormClosing

            If mTimer IsNot Nothing Then
                mTimer.Dispose()
            End If
        End Sub

        Private Sub mTimer_Tick _
                (ByVal sender As Object, _
                 ByVal e As System.EventArgs _
                ) Handles mTimer.Tick

            mCounter += 1
            Me.Text = (mTimeOut - mCounter).ToString
            If mCounter = mTimeOut Then
                mTimer.Stop()
                Me.Close()
            End If

        End Sub
    End Class
    ' \\\ E N T E

    Nach dem Programmstart siehst Du die Form1, in deren
    Titelleiste die noch verbleibende Zeit (10 Sek.) bis zum
    Programmende in Sekunden angezeigt wird.
    Nach Ablauf von 10 Sek. wird die Form geschlossen und
    das Programm damit beendet.

    Gruß aus St.Georgen
    Peter Götz
    www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

    • Als Antwort vorgeschlagen Giftzwockel Samstag, 14. August 2010 10:45
    • Als Antwort markiert foxtrottbravo Samstag, 14. August 2010 19:30
    Freitag, 13. August 2010 17:20
  • Danke!

    Es hat Funktioniert!

     

    VG F.B.

    Samstag, 14. August 2010 19:32