这篇文章主要为大家详细介绍了C#实现计算器精简版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了C#实现计算器精简版的具体实现代码,供大家参考,具体内容如下
计算器需求分析
一、界面设计
1.做一个显示屏
2.17个按钮(0-9,±×÷%=,CE)
二、需要实现的功能
1.输入第一个数字
2.选择运算类型
3.输入第二个数字
4.按下等号计算出结果,结果显示在显示屏上
三、实现步骤
1.先做界面
a.显示屏 textbox、listbox、label
b.使用17个button,button上的文本改成对应的数字符号
2.补充:申请两个int类型变量,第一个num1装第一个数字
第二个num2装第二个数字
(1).输入第一个数字,当点一个数字按钮,屏幕上显示一个,之前显示的数字在前面呆着
a1.添加按钮的cilck事件
a2.事件触发,将按钮代表的数字显示textbox1的text
(2).当输入符号的时候,清除屏幕,但是后台必须记录好第一个数字
b1.添加符号按钮的click事件
b2.当点任何一个符号按钮用一个变量num1装刚才输入的textbox1中的数字
(3).输入第二个数字
c1. 当点任何一个符号按钮用一个变量num2装刚才输入的textbox1中的数字
(4).按下等号按钮,显示屏上面的文本改变成两个数字的运算结果
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 简单的计算器制作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//计算窗口加载居中的位置
int left = Screen.PrimaryScreen.Bounds.Width / 2 - this.Width / 2;
int top = Screen.PrimaryScreen.Bounds.Height / 2 - this.Height / 2;
this.Location = new Point(left,top);
//加载的时候获取焦点
button1.TabIndex = 0;
}
//当我们输入完第一个数字之后 在输入运算符的时候 我们要记下第一个数字num1
//当我们输入完第二个数字之后 在输入等号的时候 我们要记下第二个数字num1
double num1 = 0;
double num2 = 0;
bool iskey = false;
//ce
private void button1_Click(object sender, EventArgs e)
{
//设置清空
textBox1.Text = "";
}
//1
private void button4_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "1";
}
//2
private void button5_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "2";
}
//3
private void button6_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "3";
}
//4
private void button8_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "4";
}
//5
private void button9_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "5";
}
//6
private void button10_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "6";
}
//7
private void button12_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "7";
}
//8
private void button13_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "8";
}
//9
private void button14_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "9";
}
//0
private void button17_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += "9";
}
//.
private void button16_Click(object sender, EventArgs e)
{
if (iskey)
{
textBox1.Text = "";
iskey = false;
}
textBox1.Text += ".";
}
//定义一个空的来接收符号
string type=" ";
//+
private void button15_Click(object sender, EventArgs e)
{
if(textBox1.Text != "")
{
//获取运算的第一个数字(前一个数字);将字符串类型转换为int类型(int.parse())
// num1 = int.Parse(textBox1.Text);
// num1 = Convert.ToInt32(textBox1.Text);
// 第二种转换方式convert
num1 = Convert.ToDouble(textBox1.Text);
}
type = "+";
// textBox1.Text = "";
iskey = true;
}
//-
private void button3_Click(object sender, EventArgs e)
{
if(textBox1.Text != ""){
num1 = Convert.ToDouble(textBox1.Text);
}
type = "-";
// textBox1.Text = "";
iskey = true;
}
//*
private void button7_Click(object sender, EventArgs e)
{
if(textBox1.Text != "")
{
num1 = Convert.ToDouble(textBox1.Text);
}
type = "*";
// textBox1.Text = "";
iskey = true;
}
//÷
private void button11_Click(object sender, EventArgs e)
{
if(textBox1.Text != "")
{
num1 = Convert.ToDouble(textBox1.Text);
}
type = "/";
//textBox1.Text = "";
iskey = true;
}
//%
private void button18_Click(object sender, EventArgs e)
{
iskey = true;
if (textBox1.Text != "")
{
num1 = Convert.ToDouble(textBox1.Text);
}
type = "%";
//textBox1.Text = "";
}
//=
private void button2_Click(object sender, EventArgs e)
{
if (iskey)
{
return;
}
iskey = true;
if(textBox1.Text != "")
{
num2 = Convert.ToDouble(textBox1.Text);
}
switch (type)
{
case "+":
//括号里进行计算,计算的结果转化为string类型,并显示在屏幕(textbox1)里;
textBox1.Text = (num1 + num2).ToString();
break;
case "-":
textBox1.Text = (num1 - num2).ToString();
break;
case "*":
textBox1.Text = (num1 * num2).ToString();
break;
case "/":
textBox1.Text = (num1 / num2).ToString();
break;
case "%":
textBox1.Text = (num1 % num2).ToString();
break;
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持得得之家。
本文标题为:C#实现计算器精简版
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- user32.dll 函数说明小结 2022-12-26
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- c# 模拟线性回归的示例 2023-03-14
- Unity3D实现渐变颜色效果 2023-01-16
- 如何使用C# 捕获进程输出 2023-03-10
- Unity Shader实现模糊效果 2023-04-27
- .NET CORE DI 依赖注入 2023-09-27
- Oracle中for循环的使用方法 2023-07-04
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16