Messagebox beim Beenden



  • Tja, wenn ich das nur wüßte. 🙄

    Wie muß ich es denn richtig machen?

    Danke, Chris



  • Auch "Show" gehen und F1 drücken 😉



  • Hallo!

    Mach es mir doch bitte nicht so schwer.
    Die Hilfe bringt mich nicht weiter,
    bin doch noch Anfänger.

    Gruß, Chris



  • Was ist denn an der Hilfe so schwer? Du gehst mit dem Cursor auf Show und drückst dann F1 (= Hilfe)... Du kannst auch mit der Maus über dem Wort stehen bleiben, dann erscheint nach ner kurzen Zeitspanne die Deklaration von Show.



  • Ich versteh die Hilfe eben nicht



  • Was zeigt denn die Hilfe als Rückgabewert von Show an?



  • Es kommt die Online-Hilfe für MessageBox..::.Show-Methode



  • Na das ist doch genau das, was du haben willst -.-

    Wenn du schon mit grafischen Elementen rumspielst, solltest du wissen, wie eine Methodendeklaration aussieht, sodass du ganz schnell den Rückgabewert von Show rausfindest. Falls nicht, dann geh lieber ganz schnell zur Konsole und lass die Grafikspielereien, bis du so weit bist. Ist nicht böse gemeint, erspart dir aber ganz viel Frust.



  • Michael E. schrieb:

    Wenn du schon mit grafischen Elementen rumspielst, solltest du wissen, wie eine Methodendeklaration aussieht, sodass du ganz schnell den Rückgabewert von Show rausfindest. Falls nicht, dann geh lieber ganz schnell zur Konsole und lass die Grafikspielereien, bis du so weit bist. Ist nicht böse gemeint, erspart dir aber ganz viel Frust.

    Was ist das für eine blöde Aussage?
    Wenn Sie ihren Autoführerschein machen wollen, müssen Sie schon wissen wie man ein Auto fährt, sagte der Fahrlehrer und schickte mich aufs Fahrrad zurück.

    Echt ein tolles Forum hier.

    @Jochen:

    Abort = 3
    Cancel = 2
    Ignore = 5
    No = 7
    None = 0
    OK = 1
    Retry = 4
    Yes = 6

    int _answer = 0;
    
    _answer = Convert::ToInt16(MessageBox::Show("Wirklich beenden?","Warnung!", MessageBoxButtons::YesNo, MessageBoxIcon::Warning));
    
    if(_answer == 6)
    { 
    	this->Close(); 
    }
    

    Nur ein Beispiel...

    Namespace Global vereinbaren:

    #pragma once
    
    using namespace System::Windows::Forms;
    
    if(MessageBox::Show("Wirklich beenden?","Warnung!", MessageBoxButtons::YesNo, MessageBoxIcon::Warning) ==::DialogResult::Yes)
    { 
    	this->Close(); 
    }
    


  • @Hermann Halle:
    Wer sich einmal bemüht die Hilfe anzuschauen, trifft sofort auf ein aussagekräftiges Beispiel:
    http://msdn.microsoft.com/en-us/library/0x49kd7z.aspx

    Und der DialogResult ist keine Zahl, sondern ein Enum (und hier ist sind auch nochmals Beispiele!):
    http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult.aspx
    Oder wo siehst Du das Zahlen???

    Also spätestens nach zwei Klicks hat man genügend Beispiele... aber es ist ja einfacher hier zig-Mal zu Posten, als zweimal zu klicken und selber nachzudenken...



  • Hermann Halle schrieb:

    Was ist das für eine blöde Aussage?

    hart aber korrekt

    Wenn Sie ihren Autoführerschein machen wollen, müssen Sie schon wissen wie man ein Auto fährt, sagte der Fahrlehrer und schickte mich aufs Fahrrad zurück.

    nein ... der Fahrlehre sagt nur wo Kupplung, gas und bremse zu finden ist ... Auto fahren musst Du selber lernen ... also das Zusammenspiel zwischen Kupplung, Gas und Bremse ... das hat was mit Motorik zu tun

    gleiche mit den Methodendeklarationen ... Dir wurde gesagt mit F1 findest Du die Hilfe ... den Umgang kannst aber nur Du alleine lernen

    Echt ein tolles Forum hier.

    jap 👍

    Abort = 3
    Cancel = 2
    Ignore = 5
    No = 7
    None = 0
    OK = 1
    Retry = 4
    Yes = 6
    

    wozu dieser riesige Umweg?? ... die Methode liefert was viel schöneres zurück ... dann lässt sich der Quelltext auch besser von Fremden lesen



  • @mogel: Hast Du überhaupt schon mal eine Frage hier im Forum richtig beantwortet oder nur die Leute mit schlauen Antworten zurechtgewiesen?

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-243043-and-highlight-is-.html

    Tolle Hilfe von Dir, aber Du wusstest auf sicher die Antwort selber nicht, aber Deinen Senf hast Du ja dazu gegeben, ist wichtig, der Zähler wieder um 1 hoch gegangen.
    Hast ja nun schon 33 Beiträge, ich bin stolz auf Dich.

    Ihr schießt hier mit Kanonen auf Spatzen.
    Und das Forum ist nicht mehr Jap, es war mal Jap aber das ist schon lange vorbei.

    Die Beiträge werden zu recht immer weniger, bis bald keine mehr da sind.

    Jap und ein 3 mal Hoch...



  • Versteht hier keiner das Jochen und mogel doch Vollkommen recht haben. Die Doku ist so umfassend das sich solche kleinigkeiten von alein ergeben sollten wenn man die passenden pfade bekommt. Ich finde hier nichts überheblich oder unpassend. Jochen wollte nur einen kleinen Schups geben das man selbst auf das ergebniss kommt und es auch selbst versteht.

    In einigen Firmen wird sogar komplett auf hilfe geschissen...

    Und das Forum hier hat mich schon sehr weit gebracht. In anderen Foren bekommt man vieleicht schnellere antworten aber nicht so Hilfreiche 😉



  • Hallo Leute!

    Diese Diskussion ist unnötig.

    Von einem Forum erwarte ich Hilfe, wie sie von Hermann Halle kommt.
    Dafür schon mal ein großes DANKE.

    Sollte ich mich irgendwann mal auf C++ spazialisieren,
    werde ich die Hilfe von MS in Anspruch nehmen.

    Ich kann aber nicht alles auf einmal lernen.

    Also nichts für Ungut und noch einen schönen Sonntag, Chris



  • Hey Leute,

    also was ich von einem Forum erwarte ist ebenfalls Hilfe, keine 9-mal-klugen Antworten, das bringt Niemanden weiter.

    Und ja, natürlich ist die Doku so umfassend, aber ab und zu muss man den Leuten halt vorwerfen das sie nicht genug gesucht haben, NA UND?!
    Trotzdem kann man Ihnen doch helfen, wenn es so "leicht" ist oder?!

    Eine rasche Hilfe würde uns hier sowas auch ersparen 😉
    *trotzdem meinen Senf dazu geben muss* 😃
    Denn solangsam vermüllt JEDES Forum mit solchen Beiträgen...die Niemand, aber auch wirklich Niemand gebrauchen kann....in diesem Sinne...

    Hoffe Chris, dir konnte geholfen werden, wenn noch was unklar ist, lass dich nicht humpen, wenn Google keine gewünschten Ergebnisse ausspuckt 😉

    Greez
    DaMapfi



  • Hallo!

    Ich habe wirklich noch eine Frage.

    private: System::Void Form1_FormClosing(System::Object^  sender, System::Windows::Forms::FormClosingEventArgs^  e) 
    			{
    					int antwort_dialog = 0;
    
    					antwort_dialog = Convert::ToInt16(MessageBox::Show("Möchten sie das Programm wirklich schließen?","Programm beenden!", MessageBoxButtons::YesNo, MessageBoxIcon::Warning));
    
    					if(antwort_dialog == 6)
    					{
    						this->Close();
    					}
    			}
    

    Der Compiler meldet keine Fehler,
    aber die Box verhält sich nicht so,
    wie ich es gerne hätte.

    Beim Schließen kommt der Dialog,
    welcher die Optionen Ja/Nein bietet.

    Beim Klick auf Ja bleibt die Form und der Dialog offen,
    es passiert also nicht das Gewünschte (nämlich Form und Dialog beenden).

    Beim Klick auf Nein werden allerdings Form und Box geschlossen.

    Was muss ich denn da ändern?

    Danke, Chris



  • Mach das nicht so, das war nur ein Beispiel.
    Nimm DialogResult.
    Bist Du mal mit dem Debugger durchgegangen?
    Ich vermute mal, er gibt einen anderen Wert als 6 zurück.

    Aber nochmal, mit dem int war nur ein Beispiel.

    == ::DialogResult::Yes
    

    Take this...



  • Hier mal meine komplette Methode

    Take this:

    private: System::Void Form1_FormClosing(System::Object^  sender, System::Windows::Forms::FormClosingEventArgs^  e) {
    				 System::Windows::Forms::DialogResult result;
    				 result = MessageBox::Show("Soll das Porgamm wirklich beendet werden?","Meldung",MessageBoxButtons::YesNo);
    				 if(result == System::Windows::Forms::DialogResult::No)
    				 {
    					 e->Cancel::set(true);
    				 }
    				 if(result == System::Windows::Forms::DialogResult::Yes)
    				 {
    				 } 
    			 }
    

    ^^^^^^^^^^^getestet^^^^^^^^^
    ei mir funzt es 😉



  • ...
    if(result == System::Windows::Forms::DialogResult::Yes)
    {
    }
    ...

    Natürlich kannst Du das daraus nehmen, wie Du siehst, tut es ja nichts..lol
    Bloß ein unnützes Überbleibsel meines Tests... 🤡

    Greezes
    DaMapfi



  • Hallo!

    Danke für eure Hilfe,
    aber ich sehe gerade, das ich totalen Unsinn programmiere.

    Beim Schließen kommt ja auch noch der Dialog vom Beenden aus dem menuStrip.

    Tja, nun wird es mir doch zu kompliziert.

    Kann ich eventuell irgendwo verhindern,
    das das Kreuz oben rechts in der Form eine Funktion hat?

    Danke, Chris


Anmelden zum Antworten