网站优化专家,做网站推广有什么升职空间,网站前台功能介绍,企信网企业信用信息系统贵州C#桌面应用制作简易计算器#xff0c;可实现数字之间的加减乘除、AC按键清屏、Del按键清除末尾数字、/-按键取数字相反数、%按键使数字缩小100倍、按键显示运算结果等......
页面实现效果
功能实现
布局
计算器主体使用Panel容器#xff0c;然后将button控件排列放置Pane…C#桌面应用制作简易计算器可实现数字之间的加减乘除、AC按键清屏、Del按键清除末尾数字、/-按键取数字相反数、%按键使数字缩小100倍、按键显示运算结果等......
页面实现效果
功能实现
布局
计算器主体使用Panel容器然后将button控件排列放置Panel容器做为计算器按键显示主体使用groudBox容器然后在groudBox容器里放置一个Panel容器作为显示屏再在Panel容器放置一个label控件用于显示输入和运算结果。
布局效果 数字按键功能
点击数字按键使其数字投射到计算器平面上因为屏幕大小有限所以使其数字长度大于16时字体缩小一倍数字长度大于30时弹窗提示字符长度超出范围。
数字按键功能实现效果
数字按键功能实现代码 private void button8_Click(object sender, EventArgs e){string seven 7;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;//如果前面有运算符则先消除运算符再把数字投射到屏幕上}label1.Text label1.Text seven;//将数字投射到屏幕上if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}
运算符按键功能
如果在输入运算符前未输入数字则弹窗提示无运算数字如果输入运算符前已经输入数字且symbol运算符为null则清除已经输入的并且投射到屏幕上的数字并将其赋值至num1然后将运算符赋值给symbol并投射到屏幕上如果输入运算符前屏幕上已经显示了输入的运算符则弹窗提示您已输入运算符如果输入运算符前已经输入数字且symbol运算符已被赋值则清除已经输入的并且投射到屏幕上的数字并将其赋值至num2并计算num1 运算符 num2结果并将其赋值至num1然后将运算符赋值给symbol并投射到屏幕上。
运算符按键功能实现效果 运算符按键功能实现代码 private void button4_Click(object sender, EventArgs e){string divide ÷;if (symbol null label1.Text.Length1num1null){MessageBox.Show(无运算数字);}else{if (symbol null){if(num1 null){num1 label1.Text;}symbol divide;label1.Text symbol;}else{if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷) {MessageBox.Show(您已输入运算符);}else{num2 label1.Text;rt double.Parse(num1) / double.Parse(num2);num1 rt.ToString();symbol divide;label1.Text symbol;num2 null;}}}} AC按键功能
点击清除所有信息。
AC按键功能实现效果 AC按键功能实现代码 private void button1_Click(object sender, EventArgs e){label1.Text null;num1null;num2null;symbol null;}
Del按键功能
点击清除末尾字符如果屏幕上末尾字符显示的是输入的运算符则点击后清除运算符并把num1的值投射到屏幕上。
Del按键功能实现效果 Del按键功能实现代码
private void button2_Click(object sender, EventArgs e)
{if (label1.Text.Length 0){label1.Text null;}else{if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text num1;symbol null;}else{string del label1.Text;label1.Text del.Substring(0, del.Length - 1);if (label1.Text.Length 30){if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}}}
}
/-按键功能
点击取屏幕上数字的相反数并投射到屏幕上但是如果点击/-按键时屏幕上没有数字或屏幕上为运算符则按键提示error按键‘.’同样效果。
/-按键功能实现效果 /-按键功能实现代码
private void button3_Click(object sender, EventArgs e)
{if (label1.Text.Length 0){MessageBox.Show(error);}else if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(error);}else{double reserve double.Parse(label1.Text);reserve -reserve;label1.Text reserve.ToString();}
}
%按键功能
点击实现屏幕上数字缩小一百倍效果并将结果投射到屏幕上但是如果点击%按键时屏幕上没有数字或屏幕上为运算符则按键提示error。
%按键功能实现效果 %按键功能实现代码
private void button20_Click(object sender, EventArgs e)
{if (label1.Text.Length 0){MessageBox.Show(error);}else if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(error);}else{double reserve double.Parse(label1.Text);reserve reserve / 100;label1.Text reserve.ToString();}
}
等号按键功能
点击实现运算效果并将最终结果输出到屏幕上如果在输入等号前输入数字但是未输入运算符屏幕显示字符保持原来不变不进行运算如果在输入等号前未输入数字也未输入运算符则弹窗提示无运算数字如果只输入一个数字和一个运算符则弹窗提示error。
等号按键功能实现效果 等号按键功能实现代码 private void button17_Click(object sender, EventArgs e){if (symbol null label1.Text.Length 1){MessageBox.Show(无运算数字);}else{if (symbol null){num1 label1.Text;}else{if (label1.Text ! null){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(error);}else{num2 label1.Text;}}}}if (num2 ! null){if (symbol ){rt double.Parse(num1) double.Parse(num2);label1.Text rt.ToString();num1 rt.ToString();symbol null;num2 null;}else if (symbol -){rt double.Parse(num1) - double.Parse(num2);label1.Text rt.ToString();num1 rt.ToString();symbol null;num2 null;}else if (symbol ×){rt double.Parse(num1) * double.Parse(num2);label1.Text rt.ToString();num1 rt.ToString();symbol null;num2 null;}else if (symbol ÷){rt double.Parse(num1) / double.Parse(num2);label1.Text rt.ToString();num1 rt.ToString();symbol null;num2 null;}}}
完整代码实现
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 WindowsFormsApp计算器
{public partial class Form1 : Form{string symbol, num1, num2,Num1,Num2;double rt;public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){label1.Text null;num1null;num2null;symbol null;}private void button2_Click(object sender, EventArgs e){if (label1.Text.Length 0){label1.Text null;}else{if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text num1;symbol null;}else{string del label1.Text;label1.Text del.Substring(0, del.Length - 1);if (label1.Text.Length 30){if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}}}}private void button3_Click(object sender, EventArgs e){if (label1.Text.Length 0){MessageBox.Show(error);}else if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(error);}else{double reserve double.Parse(label1.Text);reserve -reserve;label1.Text reserve.ToString();}}private void button4_Click(object sender, EventArgs e){string divide ÷;if (symbol null label1.Text.Length1num1null){MessageBox.Show(无运算数字);}else{if (symbol null){if(num1 null){num1 label1.Text;}symbol divide;label1.Text symbol;}else{if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷) {MessageBox.Show(您已输入运算符);}else{num2 label1.Text;rt double.Parse(num1) / double.Parse(num2);num1 rt.ToString();symbol divide;label1.Text symbol;num2 null;}}}}private void button8_Click(object sender, EventArgs e){string seven 7;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;//如果前面有运算符则先消除运算符再把数字投射到屏幕上}label1.Text label1.Text seven;//将数字投射到屏幕上if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button7_Click(object sender, EventArgs e){string eight 8;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;}label1.Text label1.Text eight;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button6_Click(object sender, EventArgs e){string nine 9;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;}label1.Text label1.Text nine;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button5_Click(object sender, EventArgs e){string multiply ×;if (symbol null label1.Text.Length 1 num1 null){MessageBox.Show(无运算数字);}else{if (symbol null){if (num1 null){num1 label1.Text;}symbol multiply;label1.Text symbol;}else{if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(您已输入运算符);}else{num2 label1.Text;rt double.Parse(num1) * double.Parse(num2);num1 rt.ToString();symbol multiply;label1.Text symbol;num2 null;}}}}private void button12_Click(object sender, EventArgs e){string four 4;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;}label1.Text label1.Text four;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button11_Click(object sender, EventArgs e){string five 5;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;}label1.Text label1.Text five;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button10_Click(object sender, EventArgs e){string six 6;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;}label1.Text label1.Text six;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button9_Click(object sender, EventArgs e){string subtract -;if (symbol null label1.Text.Length 1 num1 null){MessageBox.Show(无运算数字);}else{if (symbol null){if (num1 null){num1 label1.Text;}symbol subtract;label1.Text symbol;}else{if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(您已输入运算符);}else{num2 label1.Text;rt double.Parse(num1) - double.Parse(num2);num1 rt.ToString();symbol subtract;label1.Text symbol;num2 null;}}}}private void button16_Click(object sender, EventArgs e){string one 1;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;}label1.Text label1.Text one;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button15_Click(object sender, EventArgs e){string two 2;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;}label1.Text label1.Text two;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button14_Click(object sender, EventArgs e){string three 3;if (label1.Text.Length 30){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){label1.Text null;}label1.Text label1.Text three;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button13_Click(object sender, EventArgs e){string add ;if (symbol null label1.Text.Length 1 num1 null){MessageBox.Show(无运算数字);}else{if (symbol null){if (num1 null){num1 label1.Text;}symbol add;label1.Text symbol;}else{if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(您已输入运算符);}else{num2 label1.Text;rt double.Parse(num1) double.Parse(num2);num1 rt.ToString();symbol add;label1.Text symbol;num2 null;}}}}private void button20_Click(object sender, EventArgs e){if (label1.Text.Length 0){MessageBox.Show(error);}else if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(error);}else{double reserve double.Parse(label1.Text);reserve reserve / 100;label1.Text reserve.ToString();}}private void button19_Click(object sender, EventArgs e){string zero 0;if(label1.Text.Length 30){label1.Text label1.Text zero;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}private void button18_Click(object sender, EventArgs e){string dot .;int flabel1.Text.IndexOf(.);if(f -1){if(label1.Text.Length 0){MessageBox.Show(error);}else if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(error);}else{if (label1.Text.Length 30){label1.Text label1.Text dot;if (label1.Text.Length 16){label1.Font new Font(label1.Font.FontFamily, 13f, label1.Font.Style);}else{label1.Font new Font(label1.Font.FontFamily, 26f, label1.Font.Style);}}else{MessageBox.Show(字符长度超出范围);}}}else{MessageBox.Show(error);}}private void button17_Click(object sender, EventArgs e){if (symbol null label1.Text.Length 1){MessageBox.Show(无运算数字);}else{if (symbol null){num1 label1.Text;}else{if (label1.Text ! null){if (label1.Text || label1.Text - || label1.Text × || label1.Text ÷){MessageBox.Show(error);}else{num2 label1.Text;}}}}if (num2 ! null){if (symbol ){rt double.Parse(num1) double.Parse(num2);label1.Text rt.ToString();num1 rt.ToString();symbol null;num2 null;}else if (symbol -){rt double.Parse(num1) - double.Parse(num2);label1.Text rt.ToString();num1 rt.ToString();symbol null;num2 null;}else if (symbol ×){rt double.Parse(num1) * double.Parse(num2);label1.Text rt.ToString();num1 rt.ToString();symbol null;num2 null;}else if (symbol ÷){rt double.Parse(num1) / double.Parse(num2);label1.Text rt.ToString();num1 rt.ToString();symbol null;num2 null;}}}}
}