1

Должно получиться как на картинке (вывод действий над итогом счета]

    char znak; // Знак
    string a; // Первое число
    string b; // Второе число
    bool pomnish = false; // Для выполнения действия, если не нажали "="
    public Form1()
    {
        InitializeComponent();
    }
private void button4_Click(object sender, EventArgs e)
{
    textBox1.Text += "4";
}

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

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

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

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

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

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

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

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

private void textBox1_TextChanged(object sender, EventArgs e)
{
    textBox1.Enabled = false;
}

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

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

private void button12_Click(object sender, EventArgs e)
{
    textBox1.Text = null;
    pomnish = false;
}

private void button13_Click(object sender, EventArgs e)
{
    if (pomnish) { schitaem(); } // Пригодится в дальнейшем
    znak = '+';
    a = textBox1.Text;
    textBox1.Text += "+";
    pomnish = true;
}

private void button14_Click(object sender, EventArgs e)
{
    if (pomnish) { schitaem(); }
    znak = '-';
    a = textBox1.Text;
    textBox1.Text += "-";
    pomnish = true;
}

private void button15_Click(object sender, EventArgs e)
{
    if (pomnish) { schitaem(); }
    znak = '/';
    a = textBox1.Text;
    textBox1.Text += "/";
    pomnish = true;
}

private void button16_Click(object sender, EventArgs e)
{
    if (pomnish) { schitaem(); }
    znak = '*';
    a = textBox1.Text;
    textBox1.Text += "*";
    pomnish = true;
}
public void schitaem()
{
    int i = a.Length + 1;
    while (i < textBox1.Text.Length)
    {
        b += textBox1.Text[i]; // Добавляем в переменную b, все цифры после знака
        i++;
    }
    if (znak == '+') { textBox1.Text = Convert.ToString(Convert.ToDouble(a) + Convert.ToDouble(b)); }
    if (znak == '-') { textBox1.Text = Convert.ToString(Convert.ToDouble(a) - Convert.ToDouble(b)); }
    if (znak == '*') { textBox1.Text = Convert.ToString(Convert.ToDouble(a) * Convert.ToDouble(b)); }
    if (znak == '/') { textBox1.Text = Convert.ToString(Convert.ToDouble(a) / Convert.ToDouble(b)); }
    b = null;
}

private void button17_Click(object sender, EventArgs e)
{
    {
        schitaem();
        pomnish = false;
    }
}

}

image

aepot
  • 49,560
Sasha
  • 39

1 Answers1

1

Если вы имеете ввиду значение 1333.66+, то можно завести label в том месте и в коде менять текстовое значение лейбла после нажатия на кнопки.

Допустим вы набрали 1333.66 после нажатия на плюс поле с выводом очищается, а текстовое значение label меняется на то что вы ввели и знак на который нажали, то есть плюс. После нажатия на равно. Вычисляем результат выражения в label, при этом не забыв его очистить.

LABEL_NAME.Text += textbox1.Text + " +";
textbox1.Text = '';