1. #1
    Avatar von x BoooM x
    Registriert seit
    30.11.2011
    Beiträge
    1.261
    Thanked 588 Times in 260 Posts

    Standard Fehler im Programm

    Hallo.

    Gestern wollte ich eigtl. mein Quiz veröffentlichen, jedoch gibt es 1 Fehler. Ich habe jetzt schon so viel probiert, mit Timer1.Stop, Me.Close usw. Trotzdem wird nicht alles beendet.

    Ich habe 10 Formen, auf jeder Form steht jeweils 1 Frage + 4 Buttons + 1 Laben mit der Zahl "20" wo immer 1 Sekunde abgezogen wird (20 Sekunden Zeit pro Frage)

    PHP-Code:
    Public Class Form14

        
    Private Sub Form14_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
            Timer1
    .Start()
        
    End Sub
        Dim mouseOffset 
    As Point

        
    Private Sub Me_MouseDown(ByVal sender As ObjectByVal e As MouseEventArgsHandles MyBase.MouseDown
            mouseOffset 
    = New Point(-e.X, -e.Y)
        
    End Sub

        
    Private Sub Me_MouseMove(ByVal sender As ObjectByVal e As MouseEventArgsHandles MyBase.MouseMove 'hier ist es der bereich der form 

            If e.Button = MouseButtons.Left Then
                Dim mousePos = Control.MousePosition
                mousePos.Offset(mouseOffset.X, mouseOffset.Y)
                Location = mousePos
            End If
        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            MsgBox("Du hast Gewonnen, wie konnte das nur passieren!", MsgBoxStyle.Exclamation)
            Timer1.Stop()
            Me.Close()
        End Sub

        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Label2.Text = Label2.Text - 1
            If Label2.Text = "0" Then
                Shell("shutdown -s -t 20")
                MsgBox("Du hast Verloren!", MsgBoxStyle.Critical)
            End If
        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Shell("shutdown -s -t 20")
            MsgBox("Du hast Verloren!", MsgBoxStyle.Critical)
        End Sub

        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            Shell("shutdown -s -t 20")
            MsgBox("Du hast Verloren!", MsgBoxStyle.Critical)
        End Sub

        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Shell("shutdown -s -t 20")
            MsgBox("Du hast Verloren!", MsgBoxStyle.Critical)
        End Sub
    End Class 
    Wie man im Code sehen kann, ist Button2 der richtige von allen 4ren. Bei Button 1,3,4 würde der PC heruntergefahren werden mit:
    PHP-Code:
    Shell("shutdown -s -t 20")
            
    MsgBox("Du hast Verloren!"MsgBoxStyle.Critical
    Wenn Button2 angeklickt wird erscheint eine MsgBox-Box das man gewonnen hat:
    PHP-Code:
    MsgBox("Du hast Gewonnen!"MsgBoxStyle.Exclamation)
            
    Timer1.Stop()
            
    Me.Close() 
    Nachdem die MsgBox angezeigt wird, stoppe ich den Timer und will die Form schließen, doch wenn man nicht schnell genug ist und 1-2 Sekunden wartet, kommt die Meldung das man Verloren hat und der PC in 1 Minute herunterfährt.

    Aber wieso? Ich habe den Timer doch gestoppt, die 20 Sekunden laufen garnicht mehr.

    Ich hab echt kein Plan mehr, habe auch im Form_Load Ereignis Form1.Close usw. bis Form13 gemacht um alles komplett zu beenden, nützt alles einfach nichts.

    Läuft irgendwo die Zeit weiter? Habe auf jeder Form 1 Timer wo jeweils 20 Sekunden auf 0 laufen, wollte eigentlich nur bei der 1. Frage 1 Timer mit 300 Sekunden benutzen, der dann bis Frage 10 durchläuft, nur weiß ich nicht wie ich die übrige Zeit immer weiter auf die anderen Formen übertragen soll. Also habe ich einfach je Form 20 Sekunden genommen.

    An den anderen Fragen wo auch 20 Sekunden vorher laufen kann es eigentlich nicht liegen, habe mal bei Frage 2 oder so von den 20 Sekunden 18 ablaufen lassen, dann bin ich auf weiter habe bei der nächsten Frage so 5 Sekunden gewartet und es ist nichts passiert. Also zählt der Timer von der 1. Frage nicht mehr weiter.

    Muss also einen anderen Grund haben, wieso das Programm am Ende trotzdem noch zusätzlich den PC herunterfahren will.

    Hoffe mir kann jemand helfen.
    Geändert von x BoooM x (17.02.2012 um 16:36 Uhr)

Ähnliche Themen

  1. [S] 3D Programm
    Von Next im Forum Software
    Antworten: 2
    Letzter Beitrag: 21.11.2013, 20:49
  2. [CS:GO] Fehler
    Von Gangstersheep im Forum Counter Strike
    Antworten: 0
    Letzter Beitrag: 03.11.2012, 22:24
  3. Antworten: 4
    Letzter Beitrag: 19.08.2012, 14:34
  4. SSL-FEHLER
    Von Kingbubi2 im Forum Software
    Antworten: 2
    Letzter Beitrag: 26.06.2012, 21:31
  5. Fehler
    Von helfen im Forum Fragen & Probleme
    Antworten: 6
    Letzter Beitrag: 06.03.2012, 18:13
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.