Загрузка данных


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp20052
{
    public partial class Form1 : Form
    {
        decimal result = 0;
        char op;
        string numStr = "";
        bool isCult = false;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void button9_Click(object sender, EventArgs e)
        {
            Button button = sender as Button;
            if (!isCult) label1.Text = "";
            numStr += button.Text;

            label2.Text = numStr;
            button19.Focus();
        }

        private bool isFirstClick = true;

        private void button19_Click(object sender, EventArgs e)
        {
            if (isCult)
            {
                decimal n;
                label1.Text = $"{result} {op.ToString()}";
                if(numStr != "" && decimal.TryParse(numStr, out decimal num))
                {
                    n = num;
                }
                else
                {
                    n = result;
                }
                CulcRes(n);
                label1.Text += $" {n} = ";
                label2.Text = result.ToString();
                result = 0;
                numStr = "";
                isCult = false;
            }

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void button15_Click(object sender, EventArgs e)
        {
            numStr = "";
            label2.Text = "";
            button19.Focus();
        }

        private void button12_Click(object sender, EventArgs e)
        {
            if(!numStr.Contains(","))
            {
                numStr += ",";
                label2.Text = numStr;
            }
            button19.Focus();
        }

        private void button14_Click(object sender, EventArgs e)
        {
            if(numStr.Length > 0)
            {
                numStr = numStr.Substring(0, numStr.Length - 1);
                label2.Text = numStr;
                button19.Focus();
            }
        }

        private void button11_Click(object sender, EventArgs e)
        {
            if (decimal.TryParse(numStr, out decimal n) && n != 0)
            {
                n *= -1;
                numStr = n.ToString();
                label2.Text = numStr;
            }
            button19.Focus();
        }

        private void button17_Click(object sender, EventArgs e)
        {
            label1.Text = "";
            label2.Text = "";
            numStr = "";
            result = 0;
            isCult = false;
            button19.Focus();

        }
        void CulcRes(decimal num)
        {
            switch (op)
            {
                case '+':
                    result += num;
                    break;
                case '-':
                    result -= num;
                    break;
                case 'x':
                    result *= num;
                    break;
                case '/':
                    if (num != 0)
                        result /= num;
                    else
                        MessageBox.Show("На ноль делить нельзя!");
                    break;
            }
        }

        private void button20_Click_1(object sender, EventArgs e)
        {
            Button button = sender as Button;

            if (numStr != "" && decimal.TryParse(numStr, out decimal num))
            {
                if(isCult)
                {
                    CulcRes(num);
                    numStr = "";
                    op = button.Text[0];
                    label2.Text = result.ToString();
                }
                else
                {
                    op = button.Text[0];
                    result = num;
                    numStr = "";
                    label2.Text = "";
                    isCult = true;
                }
                label1.Text = $"{result} {op.ToString()}";
            }
            button19.Focus();
        }

        private void button19_MouseClick(object sender, MouseEventArgs e)
        {
            
        }



    }
}