Anfängerfrage MsgBox

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Londi.

    Anfängerfrage MsgBox

    Hallo Leute,

    Ich habe eine MsgBox und habe da ein Problem...


    MsgBox

    VB.NET-Quellcode

    1. MsgBox("Wollen Sie löschen...?", MsgBoxStyle.YesNo, "löschen") If MsgBoxResult.Yes Then löschen.... End If





    Wenn ich nein klicke löscht es trotzdem...

    Kann mir jemand helfen?

    Ich möchte, dass es nur bei Ja löscht und bei nein, die MsgBox sich schliesst.
    Bei MS habe ich noch diese Lösung gefunden.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim Message As String = "You did not enter a server name. Cancel this operation?"
    2. Dim Caption As String = "Error Detected in Input"
    3. Dim Buttons As MessageBoxButtons = MessageBoxButtons.YesNo
    4. Dim Result As DialogResult
    5. 'Displays the MessageBox
    6. Result = MessageBox.Show(Message, Caption, Buttons)
    7. ' Gets the result of the MessageBox display.
    8. If Result = DialogResult.Yes Then
    9. ' Closes the parent form.
    10. Me.Close()
    11. End If


    Ich hatte auch schon Probleme mit den Results & daher favorisiere ich diese Variante
    Gruß & ...
    Lächle heut, morgen wird's schlimmer !!!

    Buch lesen | Bitte VB Tags benutzen - was ist damit gemeint? |
    Tach auch Manschula,
    :D ich kopiert, MS geschrieben :thumbsup:
    Nimm die Leerzeile raus, dann is weniger *lol*

    Wir befinden uns bei Grundlagen & nun will ich es wissen:
    So wie Du es schreibst wird das Result der MsgBox geprüft. Wenn ich mir das von MS anschaue, dann deklarieren sie ein Result und weisen ihm eine MsgBox zu. Und dann vergleiche sie die Results.
    Lese ich das falsch? Irrtum meinerseits?
    Ich muss gestehen, dass ich die MS-Lösung auf meiner ProblemLösungsSuche gefunden habe und es so funktionierte, ich aber nicht nachvollziehen kann, warum sie es SO machen.
    Verstehst was ich meine? Hast Du ne Idee ...
    Gruß & ...
    Lächle heut, morgen wird's schlimmer !!!

    Buch lesen | Bitte VB Tags benutzen - was ist damit gemeint? |
    Das ist doch völlig egal.
    Das Zuweisen des Show() zu einer Variable erlaubt einen Haltepunkt drauf zu setzen und die ariable auszulesen und ggf. zu verändern.
    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!
    Hey,

    dolce schrieb:

    So wie Du es schreibst wird das Result der MsgBox geprüft. Wenn ich mir das von MS anschaue, dann deklarieren sie ein Result und weisen ihm eine MsgBox zu. Und dann vergleiche sie die Results.

    Messagebox.Show gibt einen "DialogResult" zurück, du schreibst in deinem Code "Dim Result As DialogResult". Das ist also exakt das gleiche ;)

    Gruß, Manschula

    RodFromGermany schrieb:

    Das Zuweisen des Show() zu einer Variable erlaubt einen Haltepunkt drauf zu setzen und die ariable auszulesen und ggf. zu verändern.
    Ah, nachvollziehbar - merk ich mir!

    RodFromGermany schrieb:

    Das ist doch völlig egal.

    Manschula schrieb:

    Das ist also exakt das gleiche ;)
    So ganz geh ich da nicht mit. Ich kann mich an meinen exakten Code auch nicht erinnern. Aber: Mein Problem bestand seinerzeit mit einem SaveFileDialog und es hatte verdammt noch mal nicht das gemacht, was ich wollte. Ich hatte mir einzeln die Results des dlg per MsgBox zeigen lassen, die waren ALLE oke, nur das Ergebnis nicht. Dann stieß ich auf die MS-Variante und es lief - also muss ja was anders laufen, oder täusch ich mich da so!?
    Gruß & ...
    Lächle heut, morgen wird's schlimmer !!!

    Buch lesen | Bitte VB Tags benutzen - was ist damit gemeint? |
    Hey,

    was du in deinen Projekten bisher verwendet hast, weiß ich nicht; ich meine dein Beispiel oben, bzw. genauer diese Zeile:

    dolce schrieb:

    Dim Result As DialogResult
    Result = MessageBox.Show(Message, Caption, Buttons)

    ist exakt das gleiche wie mein Beispiel oben:

    Manschula schrieb:

    If MessageBox.Show(...) = Windows.Forms.DialogResult.Yes Then

    Gruß, Manschula