MessageBoxResult und DialogResult

8

Zwei Fragen hier, hoffe, dass das in Ordnung ist.

Zuerst und hauptsächlich versuche ich, den Benutzer beim Beenden meiner Anwendung aufzufordern, ob er wirklich beenden möchte oder nicht. Mein Code ist wie folgt:

%Vor%

Nach MSDN sollte ich MessageBoxResult mBoxResult anstatt DialogResult mBoxResult verwenden.

Ich verwende .NET Framework 3.5 . Ich lese hier , dass pre-3.0 DialogResult verwenden sollte, aber wenn ich% verwende co_de%, sollte nicht 3.5 funktionieren?

Wenn ich versuche, es anzurufen, bekomme ich

  

Der Typ oder Namespace name MessageBoxResult konnte nicht gefunden werden (sind   Sie vermissen eine Using-Direktive oder eine Assembly-Referenz?).

Allerdings funktioniert es gut, wenn ich DialogResult verwende. Warum ist das?

Meine zweite Frage betrifft diesen Code:

%Vor%

Wenn jemand die Schaltfläche MessageBoxResult im Dialog anklickt, wäre es dann richtig, außer der Pause etwas hineinzuschieben? Oder funktioniert alles ohne es?

    
Andrew De Forest 10.02.2012, 16:54
quelle

2 Antworten

10

DialogResult ist für WinForms. MessageBoxResult ist für SilverLight.

Nur die break -Anweisung ist für den Fall No in Ordnung. Aber die Verwendung einer switch-Anweisung ist hier zu viel. if (response == yes) Close(); würde ausreichen.

Beachten Sie jedoch, dass dies nicht der ideale Weg ist, um das zu tun, was Sie wollen. Was passiert, wenn der Benutzer auf die Schließen-Schaltfläche am Fensterrand klickt oder ALT + F4 drückt? Stattdessen sollten Sie das FormClosing-Ereignis behandeln:

%Vor%

Wenn Sie e.Cancel auf true setzen, brechen Sie das Schließen des Formulars ab. Indem Sie nichts tun, erlauben Sie das Schließen des Formulars.

    
Igby Largeman 10.02.2012, 17:08
quelle
7
  • Verwenden Sie DialogResult , wenn Ihre Anwendung eine WinForms-Anwendung ist
  • Verwenden Sie MessageBoxResult , wenn Ihre Anwendung eine WPF / Silverlight-Anwendung ist

Wie Sie sehen können, sind die Namespaces unterschiedlich: System.Windows.Forms (Winforms) vs System.Windows (WPF).

    
ken2k 10.02.2012 17:04
quelle

Tags und Links