MessageBox, Windows Taschenrechner



  • Hallo ich programmiere noch nicht so lange mit .net und wollte versuchen den Windows Taschenrechner nachzumachen aber ich habe noch ein paar mehr Fehler.

    Also mein erstes Problem ist ich habe eine Form in der man sich einloggt.
    So aber wenn der Benutzer das Passwort falsch eingitb wollte ich das bei der MessageBox nur der Button OK kommt und das Icon Error. Aber ich kriege den Fehler:
    error C2665: "System::Windows::Forms::MessageBox::Show": Durch keine der 21 Überladungen konnten alle Argumenttypen konvertiert werden.
    Hier ist der Code davon.

    MessageBox::Show("Passwortüberprüfen",
    MessageBoxButtons::OK,MessageBoxIcon::Error);
    

    Mein nächstes Problem ist das wenn man sich eingeloggt hat also richtiger Username und Passwort eingegeben wurde eine nächste Form aufgeht. Das geht auch aber die Form in der man das Passwort und den Username eingibt soll sich danach schließen. Ich habe es mit:
    this->Close(); und
    Application::Exit();
    versucht aber die zweite Form schließt sich auch.

    Und mein letztes Problem liegt darin das ich versucht habe den Windows Taschenrechner nachzumachen aber ich das mit dem "+/-" nicht hinbekomme. Also so das in der textBox vor der Zahl ein Minus kommt oder eben weggeht.
    Für Hilfe bin ich sehr dankbar :D.



  • Die Argumente scheinen verschoben zu sein. Als erstes Argument muß der Fragetext übergeben werden.



  • Hallo Shashu,

    Zu 1...
    In Deiner MessageBox fehlt die Überschrift...

    MessageBox::Show("Meldung","Überschrift",MessageBoxButtons::OK,MessageBoxIcon::Error);
    

    Zu 2...
    Das funzt so auch nicht.
    Ich gehe mal davon aus, Du möchtest die Form1 beenden?
    Und damit beendest Du das ganze Projekt.
    Blende Form1 einfach aus...

    Form2^ _newForm = gcnew Form2();
    _newForm->Show();
    this->Hide();
    

    Zu 3...

    int _zahl = 58;
    textBox1->Text = "-" + _zahl.ToString();
    

    Oder habe ich 3 nicht verstanden?!

    Gruß Doug_HH



  • Danke schonmal für die Antworten.
    Das mti der MessageBox hat alles super geklappt jetzt. Ich hatte die Überschrift vergessen ;).

    Das mit dem Hide hat auch wunderbar geklappt aber hab noch ein Problem das wenn ich Form1->Hide(); mache, dann die zweite Form aufrufe und dann die zweite Form schließe, wie kann ich dann die erste Form schließen oder was besser wäre die erste Form wieder sichtbar zu machen.
    Weil ich habe nämlich das Problem das meine zweite Form das Hauptprogramm ist und wenn ich schreibe beim Event "FormClosing" "Form1->Show();" dann kriege ich den Fehler: Form1 nicht deklarierter Bezeichner!

    So und zu guter letzter zu Aufgabe 3.
    Danke das hat mir auch schonmal geholfen aber ich hätte da noch ein paar Fragen dazu. Also wenn ich die Taste "+/-" einmal drücke kommt ein Minus das ist ja schonmal gut aber wenn ich dann nochmal drücke kommt noch ein Minus aber ich will ja das, dass Minus weggeht so das die Zahl wieder positiv wird.
    Und mein zweites Problem ist die Komma Taste wie kann ich die Taste sperren oder so das nichts mehr passiert wenn man sie einmal gedrückt hat.

    Und ich hätte dann noch eine Frage und zwar wie ich von einer Form auf die andere zugreifen kann. Also ich kann zwar einmal #include "Form2.h" machen aber bei Form2 kann ich nicht #include "Form1.h" machen. Kann mir einer erklären was ich da falsch mache?

    Ich hoffe ich habe deutlich geschrieben. Ich weis das ich ein kleines Problem damit habe zu formulieren verzeiht mir das bitte.
    Und dann danke schonmal für die kommende Hilfe.

    Hat denn keiner eine Idee oder einen Vorschlag?



  • Zu 3.
    Man kann auch einfach mit -1 multiplizieren ihr Genies 😉

    MfG RikuXan



  • RikuXan schrieb:

    Zu 3.
    Man kann auch einfach mit -1 multiplizieren ihr Genies 😉

    MfG RikuXan

    Mit einem String kann man sowie so nicht rechnen Du Genie.:xmas2:
    Dieser Code ist nur zur Darstellung in der TextBox gedacht.

    int _zahl = 58;
    textBox1->Text = "-" + _zahl.ToString();
    

    Zu Antwort 3…

    Da hilft Dir die Forwärtsdeklarationen weiter...

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-216642.html

    Gruß


Log in to reply