C#编程基础(下)—项目实践:使用C#开发简单版winform计算器程序(输入两个数字,点击加减乘除按钮后,输出计算结果)
作者:互联网
知识点:基本控件的使用、添加事件、获取TextBox控件里用户输入的数据。
1、计算器的工作原理理解
第一步:新建一个项目,起名为MyCounter,并设置Form1的Textt属性为“简易计算器”
第二步:从工具箱拖动三个Label控件到窗体上,并分别设置Text属性为:“数字一:”、“数字二:”、“结果:”
第三步:从工具箱分别拖动三个TextBox控件到窗体上,它们的Name属性默认为textBox1、textBox2和textBox3,这里不做修改。
第四步:从工具箱分别土洞4个Button控件到窗体上,并分别设置Text属性和Name属性。相加btnJia、相减btnJian、相乘btnCheng、相除btnChu。(这里设置Name属性是为了后面调用时方便识别控件)
第五步:给四个按钮分别添加Click事件。
举例:双击【相加】按钮,进入代码编写模式
private void btnJia_Click(object sender, EventArgs e)
{
//将第一个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num1
float num1 = Convert.ToSingle(textBox1.Text);
//将第二个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num2
float num2 = Convert.ToSingle(textBox2.Text);
//计算两个数字相加,并赋值给变量jieguo
float jieguo = num1 + num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
可以依次给另外3个按钮添加Click事件。
结果演示:
完整代码演示:
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 MyCounter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnJia_Click(object sender, EventArgs e)
{
//将第一个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num1
float num1 = Convert.ToSingle(textBox1.Text);
//将第二个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num2
float num2 = Convert.ToSingle(textBox2.Text);
//计算两个数字相加,并赋值给变量jieguo
float jieguo = num1 + num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
private void btnJian_Click(object sender, EventArgs e)
{
//将第一个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num1
float num1 = Convert.ToSingle(textBox1.Text);
//将第二个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num2
float num2 = Convert.ToSingle(textBox2.Text);
//计算两个数字相减,并赋值给变量jieguo
float jieguo = num1 - num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
private void btnCheng_Click(object sender, EventArgs e)
{
//将第一个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num1
float num1 = Convert.ToSingle(textBox1.Text);
//将第二个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num2
float num2 = Convert.ToSingle(textBox2.Text);
//计算两个数字相乘,并赋值给变量jieguo
float jieguo = num1 * num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
private void btnChu_Click(object sender, EventArgs e)
{
//将第一个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num1
float num1 = Convert.ToSingle(textBox1.Text);
//将第二个TextBox控件里用户输入的数据(string类型),转换成浮点类型,并赋值给变量num2
float num2 = Convert.ToSingle(textBox2.Text);
//计算两个数字相除,并赋值给变量jieguo
float jieguo = num1 / num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
}
}
思考:这样完成的代码,有很多重复代码,如何简化代码?
解决办法:在同一个窗体类中,可以共用变量
第五步:窗体设计好之后,先不进行按钮事件添加。在解决方案资源管理器里,找到窗体文件Form1.cs,单击鼠标右键,点击【查看代码】,进入代码编写模式。声明三个float类型的变量,用来存放用户将要输入的数据信息。
第六步:给两个输入框,分别设置TextChanged事件。方法:在窗体设计界面,选中第一个输入框,在属性面板的事件里找到TextChanged事件,双击其后面的输入框,即进入该控件的TextChanged事件代码,
添加一行代码:num1 = Convert.ToSingle(textBox1.Text);
然后给第二个输入框也添加TextChanged事件,
添加一行代码:num2 = Convert.ToSingle(textBox2.Text);
第七步:给四个按钮分别添加Click事件。
举例:双击【相加】按钮,进入代码编写模式,添加两行代码:
jieguo = num1 + num2;
textBox3.Text = Convert.ToString(jieguo);
按照此步骤,依次给另外3个按钮添加Click事件。
完整版代码:
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 MyCounter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//声明3个变量,num1用来存放第一个数字,num2用来存放第二个数字,
//jieguo用来存放运算结果数据
float num1, num2, jieguo;
//第一个输入框的TextChanged事件,即TextBox输入框里的Text发生改变时,执行的操作
private void textBox1_TextChanged(object sender, EventArgs e)
{
//获取输入框里的Text属性,并将其强制转换成float类型,然后赋值给变量num1
num1 = Convert.ToSingle(textBox1.Text);
}
//第二个输入框的TextChanged事件,即TextBox输入框里的Text发生改变时,执行的操作
private void textBox2_TextChanged(object sender, EventArgs e)
{
num2 = Convert.ToSingle(textBox2.Text);
}
//【相加】按钮的Click事件,即点击该按钮时,执行的操作
private void btnJia_Click(object sender, EventArgs e)
{
//计算两个数字相加,并赋值给变量jieguo
jieguo = num1 + num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
private void btnJian_Click(object sender, EventArgs e)
{
//计算两个数字相减,并赋值给变量jieguo
jieguo = num1 - num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
private void btnCheng_Click(object sender, EventArgs e)
{
//计算两个数字相乘,并赋值给变量jieguo
jieguo = num1 * num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
private void btnChu_Click(object sender, EventArgs e)
{
//计算两个数字相除,并赋值给变量jieguo
jieguo = num1 / num2;
//将结果的值,赋值给第三个TextBox控件(需要将float类型的数据先转换成string类型再赋值)
textBox3.Text = Convert.ToString(jieguo);
}
}
}
结果演示:
思考:还有没有其他更好地方法来实现代码简化?
思考:如何制作一个完整版的计算机程序
========================这里是结束分割线=====================
标签:控件,num1,C#,jieguo,float,Text,winform,赋值,加减乘除 来源: https://blog.csdn.net/dnruanjian/article/details/88639739