Загрузка данных
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)
{
}
}
}