初学习,写得C# 小程序 ——简单计算器

界面比较丑,C是复位键,附上凌乱的代码:
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 counter
{
public partial class Form1 : Form
{
double num1, num2, result;
bool decimalFlag = false;
bool equlaFlag = false;//是否按过等于号标志位
string myOperator;
string flag =null;//按负号标志位
public void NumberClick(int myNumber)
{
if (equlaFlag)
{
txtShow.Text = Convert.ToString(0) + ".";
equlaFlag = false;
}
if (decimalFlag) //输入小数
{
txtShow.Text =flag+ txtShow.Text + myNumber;
}
else
{
if (txtShow.Text == "0.")//判断是否是一个整数的起始输入
{
txtShow.Text =flag + myNumber + ".";
}
else//输入的不是整数的第一个数
{
txtShow.Text =flag + txtShow.Text.Substring(0, txtShow.TextLength - 1) + myNumber + ".";
}
}
flag = null;
}
public Form1()
{
InitializeComponent();
txtShow.Text = Convert.ToString(0)+".";//初始无操作时显示0.
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btn1_Click(object sender, EventArgs e)
{
NumberClick(1);
}
private void btn2_Click(object sender, EventArgs e)
{
NumberClick(2);
}
private void btn3_Click(object sender, EventArgs e)
{
NumberClick(3);
}
private void btn4_Click(object sender, EventArgs e)
{
NumberClick(4);
}
private void btn5_Click(object sender, EventArgs e)
{
NumberClick(5);
}
private void btn6_Click(object sender, EventArgs e)
{
NumberClick(6);
}
private void btn7_Click(object sender, EventArgs e)
{
NumberClick(7);
}
private void btn8_Click(object sender, EventArgs e)
{
NumberClick(8);
}
private void btn9_Click(object sender, EventArgs e)
{
NumberClick(9);
}
private void btn0_Click(object sender, EventArgs e)
{
NumberClick(0);
}
private void btnPoint_Click(object sender, EventArgs e)
{
decimalFlag = true;
}
private void btnReset_Click(object sender, EventArgs e)
{
txtShow.Text = Convert.ToString(0)+".";//复位时显示0
decimalFlag = false;
equlaFlag = false;
myOperator = null;
num1 = 0;
num2 = 0;
result = 0;
}
public void OperateClick(string Operator)//操作符函数
{
equlaFlag = false;
num1 = Convert.ToDouble(txtShow.Text);
txtShow.Text = "0.";
decimalFlag = false;//复位小数点状态
myOperator = Operator;
}
private void btnAdd_Click(object sender, EventArgs e)
{
OperateClick("Add");
}
private void btnSubtraction_Click(object sender, EventArgs e)
{
OperateClick("Sub");
}
private void btnMultiply_Click(object sender, EventArgs e)
{
OperateClick("Mul");
}
private void btnDivide_Click(object sender, EventArgs e)
{
OperateClick("Div");
}
private void btnEqual_Click(object sender, EventArgs e)
{
num2=Convert.ToDouble(txtShow .Text) ;
if (myOperator == "Add")
result = num1 + num2;
else if (myOperator == "Sub")
result = num1 - num2;
else if (myOperator == "Mul")
result = num1 * num2;
else if (myOperator == "Div")
result = num1 / num2;
else
result = num2;
txtShow .Text =Convert.ToString (result );
if (myOperator =="Div"&&num2 ==0)
txtShow.Text = "error:除数不能为0";
decimalFlag = false;
equlaFlag = true;
myOperator = null;
}
private void btnNegative_Click(object sender, EventArgs e)
{
flag = "-";
txtShow.Text=flag ;
}
}
}

浙公网安备 33010602011771号