Ein Event schließt zu schnell ab!

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Niko Ortner.

    Ein Event schließt zu schnell ab!

    Hi, ein Problem habe 2 Codeteile in einem Event Button1_Click folgendes Problem:

    VB.NET-Quellcode

    1. If Test="1" then
    2. msgbox("1")
    3. test = "2"
    4. else
    5. end if
    6. if Test="2" then
    7. msgbox("2")
    8. test = "3"
    9. else
    10. end if


    Ich will das wenn Test 1 ist das er MsgBox 1 anzeigt. Und dann soll er das Event stoppen.
    Dann wenn man nochmal drückt soll wenn es Test 2 ist das er Msgbox 2 anzeigt. Und dann soll er das Event stoppen.
    Dann wenn man nochmal drückt soll wenn es Test 3 ist das er Msgbox 3 anzeigt. Und dann soll er das Event stoppen. Und so weiter!

    Doch wenn ich drücke führt er alles sofort aus, weil Test ja dann geändert wird.

    Mfg
    das teil tut genau das was es soll. du veränderst die variable, dann erfüllt sie die bedingung in der nächsten zeile..

    entweder du löst das indem du alles nochmal überdenkst oder du machst es unschön und schreibst hinter test = "2" ein exit sub

    btw "2" = string... option stric on und so

    ahh, fast vergessen den tipp zu geben: sieh dir mal select case an^^
    Ich habe das jetzt so gelöst:

    VB.NET-Quellcode

    1. If nächstesquest = "Quest 1" Then
    2. startequest1()
    3. Exit Sub
    4. Else
    5. If nächstesquest = "Quest 2" Then
    6. startequest2()
    7. Exit Sub
    8. Else
    9. End If
    10. End If

    Vielleicht nicht die beste Merthode aber Sie klappt :D
    Select Case hasse ich.. :D

    Mfg
    Wenn ich kurz ein bisschen Off Topic gehen darf: Warum hasst Du Select Case?
    Das ist die beste "Massen-Auswahl-Methode" wo gibt.
    Sieht

    VB.NET-Quellcode

    1. Select Case Test
    2. Case "1"
    3. MessageBox.Show("1")
    4. test = "2"
    5. Case "2"
    6. MessageBox.Show("2")
    7. test = "3"
    8. End Select


    nicht übersichtlicher aus?


    Das Exit Sub ist hier garnicht nötig, weil die Ausführung nach Ende des Then-Teiles sowiso zu End If springt.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils