Taschenrechnerprogramm Visualisierung



  • eben das im konsolenprogramm benutzte convert.toint funktionierte in der applikation nicht.

    ich werde deine variante sofort probieren 🙂

    ein wenig später:
    und es funktioniert. danke für die hilfe.

    kann mir jetzt noch jemand sagen, wie ich ein textfeld einer textbox wieder loeschen kann?
    ich versuchte es mit textBox1.clear(); jedoch brachte das nicht den erwuenschten effekt.



  • Textbox.Text = "";
    :p



  • Das hatte ich probiert.
    da ich den eingelesenen wert ja in einen double umgewandelt habe, bringt er mir bei dem versuch den Text auf "" zu setzen einen laufzeitfehler mit der nachricht "Die Eingabezeichenfolge hat das falsche Format."
    Überschrift ist "Format Exception wurde nicht behandelt"

    was kann man dagegen tun?



  • Nein beim setzen des TExtbox Textes sollte da eigentlich kein Laufzeitfehler kommen NUR beim wieder auslesen in einen double oder so.Zeig doch mal den Codeausschnitt bitte her.



  • Das ist das Einlesen der Eingabe:

    private void textBox1_TextChanged(object sender, EventArgs e)
            {
                stra = textBox1.Text;
                a = Double.Parse(stra);
    
            }
    

    löschen der textbox sollte sein:

    private void clear_Click(object sender, EventArgs e)
            {
                textBox1.Text = "";
    
            }
    

    doch da bekomme ich den oben genannten fehler und das programm hängt sich auf.



  • Dann lies dir noch mal meinen Beitrag "genau" durch!

    Und TextChanged ist ein ungünstiges Ereignis, um die Konvertierung (String->Zahl) durchzuführen, da dieses bei jeder Änderung aufgerufen wird.

    Mach dies erst beim Button-Click...

    P.S. "das programm hängt sich auf. " -> nein, sondern es zeigt eine "Exception" (Stichwort!) an!



  • Okay danke für die Hilfe.
    Wenn ich die Umwandlung erst beim Button Click auf die jeweilige rechenoperation mache klappt das 🙂
    danke.



  • zudem sei auf dem TryParse aufmerksam gemacht (wie es hier schon wurde)

    private void Calc()
    {
        double number = 0;
        if (double.TryParse(textBox1.Text, out number))
            Calc(number);
        else
        {
            MessageBox.Show("Bitte nur zahlen eingeben");
            textBox1.Text = "";
        }
    }
    

    // tags vergessen



  • Ich versuche gerade dem Taschenrechnerprogramm noch einen kleinen Währungsrechner hinzuzufügen.

    da arbeite ich mit comboboxen.
    durch if/else wollte ich abfragen, welcher Index in der ComboBox gewählt wurde.

    wie wird der index vergeben?
    ich habe drei zeilen in die auflistung gebracht.
    welchen index haben die jeweiligen zeilen?

    danke im voraus
    mfg simon



  • von 0 aufseigend - wie bei einem normalen array
    steht aber auch in der msdn {o;



  • Oder einfach mal selber ausprobieren und den aktuell ausgewählten index ausgeben.

    🙄 🙄


Anmelden zum Antworten