这篇文章主要为大家详细介绍了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#实现计算器精简版
基础教程推荐
- winform把Office转成PDF文件 2023-06-14
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- ZooKeeper的安装及部署教程 2023-01-22
- C# List实现行转列的通用方案 2022-11-02
- unity实现动态排行榜 2023-04-27
- C#控制台实现飞行棋小游戏 2023-04-22
- C# windows语音识别与朗读实例 2023-04-27
- C# 调用WebService的方法 2023-03-09
- 一个读写csv文件的C#类 2022-11-06
- C#类和结构详解 2023-05-30