C#|| 用WinForm窗体程序设计一个简易计算器
【代码】C#|| 用WinForm窗体程序设计一个简易计算器。
·
题目:
用WinForm窗体程序设计一个计算器。
思路:
创建一个Windows Form应用程序,命名为Form1,在Form1中添加一个TextBox控件,用于显示计算结果;添加十个Button控件,分别表示0-9的数字按钮;添加四个Button控件,分别表示加法、减法、乘法和除法的运算符按钮;添加一个Button控件,表示等号按钮,用于执行运算;添加一个Button控件,表示清除按钮,用于清除当前输入的数字和运算结果;添加一个Label控件,用于显示”简易计算器”;在Form1的构造函数中初始化Value、value、K和flag的值为0;为0-9的数字按钮的Click事件添加相应的处理函数,将点击的数字添加到number数组中,并更新value的值;为加法、减法、乘法和除法的运算符按钮的Click事件也添加相应的处理函数,将flag的值设置为相应的运算符标记;再为等号按钮的Click事件添加处理函数,根据flag的值执行相应的运算,并更新Value的值,并将Value显示在TextBox中;最后为清除按钮的Click事件添加处理函数,将Value、value、K和flag的值重置为0,并将TextBox的文本设置为"0"。
程序:
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 WorkTwo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double Value = 0;//最终值
double value = 0;//中间值
int[] number = new int[10]; //设定输入数据位数不超过10位
int K = 0;//位数
int flag = 0;//0:加 1:减 2:乘 3:除
private void Form1_Load(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button10_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 0;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button1_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 1;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button2_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 2;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button3_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 3;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button4_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 4;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button5_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 5;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button6_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 6;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button7_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 7;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button8_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 8;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button9_Click(object sender, EventArgs e)
{
value = 0;//清空中间值
number[K] = 9;
K++;//位数增加
for (int i = 0; i < K; i++)
{
value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
}
// Value = Value + value;
textBox1.Text = value.ToString();//显示
}
private void button13_Click(object sender, EventArgs e)
{
//运算
if (flag == 0)
{
Value = Value + value;
}
else if (flag == 1)
{
Value = Value - value;
}
else if (flag == 2)
{
Value = Value * value;
}
else if (flag == 3)
{
Value = Value / value;
}
flag = 0;//标记运算符
textBox1.Text = Value.ToString();//显示
value = 0;
K = 0;
}
private void button14_Click(object sender, EventArgs e)
{
//运算
if (flag == 0)
{
Value = Value + value;
}
else if (flag == 1)
{
Value = Value - value;
}
else if (flag == 2)
{
Value = Value * value;
}
else if (flag == 3)
{
Value = Value / value;
}
flag = 1;//标记运算符
textBox1.Text = Value.ToString();//显示
value = 0;
K = 0;
}
private void button15_Click(object sender, EventArgs e)
{
//运算
if (flag == 0)
{
Value = Value + value;
}
else if (flag == 1)
{
Value = Value - value;
}
else if (flag == 2)
{
Value = Value * value;
}
else if (flag == 3)
{
Value = Value / value;
}
flag = 2;//标记运算符
textBox1.Text = Value.ToString();//显示
value = 0;
K = 0;
}
private void button16_Click(object sender, EventArgs e)
{
//运算
if (flag == 0)
{
Value = Value + value;
}
else if (flag == 1)
{
Value = Value - value;
}
else if (flag == 2)
{
Value = Value * value;
}
else if (flag == 3)
{
Value = Value / value;
}
flag = 3;//标记运算符
textBox1.Text = Value.ToString();//显示
value = 0;
K = 0;
}
private void button12_Click(object sender, EventArgs e)
{
Value = 0;
value = 0;
K = 0;
flag = 0;
textBox1.Text = "0";
}
private void button11_Click(object sender, EventArgs e)
{
//运算
if (flag == 0)
{
Value = Value + value;
}
else if (flag == 1)
{
Value = Value - value;
}
else if (flag == 2)
{
Value = Value * value;
}
else if (flag == 3)
{
Value = Value / value;
}
textBox1.Text = Value.ToString();//显示
value = 0;
K = 0;
}
}
}
运行截图:
36+76=112


清除:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)