using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace _1_Taschenrechner { public partial class Form1 : Form { public Form1() { InitializeComponent(); comboBox_op.SelectedIndex = 0; } private void btn_rechne_Click(object sender, EventArgs e) { rechne(); } private void tb_Op1_KeyPress(object sender, KeyPressEventArgs e) { Console.WriteLine((int)e.KeyChar); if (char.IsDigit(e.KeyChar) || (int)e.KeyChar == 8 || e.KeyChar == '-' || e.KeyChar == ',') { // MessageBox.Show("Ziffer"); if ((e.KeyChar == '-') && (tb_Op1.TextLength != 0)) { e.Handled = true; } if ((e.KeyChar == ',') && (tb_Op1.Text.Contains(","))) e.Handled = true; } else { // MessageBox.Show("Keine Ziffer"); e.Handled = true; } } private void tb_Op2_KeyPress(object sender, KeyPressEventArgs e) { Console.WriteLine((int)e.KeyChar); if (char.IsDigit(e.KeyChar) || (int)e.KeyChar == 8 || e.KeyChar == '-' || e.KeyChar == ',') { // MessageBox.Show("Ziffer"); if ((e.KeyChar == '-') && (tb_Op2.TextLength!=0)) { e.Handled = true; } if ((e.KeyChar == ',') && (tb_Op2.Text.Contains(","))) e.Handled = true; } else { // MessageBox.Show("Keine Ziffer"); e.Handled = true; } } private void tb_Op1_KeyUp(object sender, KeyEventArgs e) { rechne(); } public void rechne() { double erg; Console.WriteLine(comboBox_op.SelectedItem); //Objekt von SelectedItem wird zu String umgewandelt und mit [0] auf das erste Zeichen zugegriffen try { switch (comboBox_op.SelectedItem.ToString()[0]) { case '+': erg = double.Parse(tb_Op1.Text) + double.Parse(tb_Op2.Text); break; case '-': erg = double.Parse(tb_Op1.Text) - double.Parse(tb_Op2.Text); break; case '*': erg = double.Parse(tb_Op1.Text) * double.Parse(tb_Op2.Text); break; case '/': erg = double.Parse(tb_Op1.Text) / double.Parse(tb_Op2.Text); break; case '%': erg = double.Parse(tb_Op1.Text) % double.Parse(tb_Op2.Text); break; default: erg = 0; break; } tb_erg.Text = erg.ToString(); //MessageBox.Show(erg.ToString(), "Ergebnis"); } catch (Exception ex) { Console.WriteLine("Fehler bei der Eingabe. Überprüfen Sie ihre Eingabe. " + ex.Message, "Fehler"); } } private void tb_Op2_KeyUp(object sender, KeyEventArgs e) { rechne(); } private void comboBox_op_SelectedIndexChanged(object sender, EventArgs e) { rechne(); } } }