C#实战——计算器设计

用了很久的C++,最近接触C#,发现简单好多,除了一些语法,函数的使用不同,底层还是能看到一些C/C++的影子。这引用百科的一段话做个说明,有兴趣的可以自己去翻阅C#计算机语言的介绍。

C#(读作“C Sharp”),C# 是面向对象的、面向组件的编程语言。C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如,没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

话不多说,今天主要练习的下c#开发Windows应用的方式。仍然选择编写计算器的练习项目。
打开VS2022,创建新项目,
在这里插入图片描述
选择Windows窗体应用(.NET Framework),点击下一步
在这里插入图片描述
选择路径,文件名,.可以选择默认,然后点击创建
在这里插入图片描述
然后在打开的页面里进行各个控件的设计编辑
在这里插入图片描述
设计完布局如下
在这里插入图片描述
然后给每个Button添加Click响应事件。

数字键响应函数

 private void button_Click_7(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "7";
     GlobalVar.str_num += "7";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = $"输入中...{GlobalVar.str_num}";
 }

 private void button_Click_8(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "8";
     GlobalVar.str_num += "8";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }

 private void button_Click_9(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "9";
     GlobalVar.str_num += "9";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }

 private void button_Click_4(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "4";
     GlobalVar.str_num += "4";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }

 private void button_Click_5(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "5";
     GlobalVar.str_num += "5";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }

 private void button_Click_6(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "6";
     GlobalVar.str_num += "6";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }

 private void button_Click_1(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "1";
     GlobalVar.str_num += "1";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }

 private void button_Click_2(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "2";
     GlobalVar.str_num += "2";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }

 private void button_Click_3(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "3";
     GlobalVar.str_num += "3";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }
 private void button_Click_0(object sender, EventArgs e)
 {
     GlobalVar.str_formula += "0";
     GlobalVar.str_num += "0";
     textBox2.Text = GlobalVar.str_formula;
     textBox1.Text = "输入中..." + GlobalVar.str_num;
 }

运算符响应函数

 private void Addbutton_Click(object sender, EventArgs e)
 {
     double Value = 0;
     double.TryParse(GlobalVar.str_num, out Value);
     bool flag = CalculateFunction(GlobalVar.calculateType, Value);
     //GlobalVar.num1 = 0;
     GlobalVar.str_num = "";
     GlobalVar.str_formula += "+";
     GlobalVar.calculateType = 0;
     if (flag)
     {
         textBox1.Text = "输入中...";
         textBox2.Text = GlobalVar.str_formula;
     }
     else
     {
         textBox1.Text = "计算式有异常...";
         GlobalVar.str_formula = "";
     }
 }

 private void Subtractbutton_Click(object sender, EventArgs e)
 {
     double Value = 0;
     double.TryParse(GlobalVar.str_num, out Value);
     bool flag = CalculateFunction(GlobalVar.calculateType, Value);
     //GlobalVar.num1 = 0;
     GlobalVar.str_num = "";
     GlobalVar.str_formula += "-";
     GlobalVar.calculateType = 1;
     if (flag)
     {
         textBox1.Text = "输入中...";
         textBox2.Text = GlobalVar.str_formula;
     }
     else
     {
         textBox1.Text = "计算式有异常...";
         GlobalVar.str_formula = "";
     }
 }

 private void Mutilbutton_Click(object sender, EventArgs e)
 {
     double Value = 0;
     double.TryParse(GlobalVar.str_num, out Value);
     bool flag = CalculateFunction(GlobalVar.calculateType, Value);
     //GlobalVar.num1 = 0;
     GlobalVar.str_num = "";
     GlobalVar.str_formula += "*";
     GlobalVar.calculateType = 2;
     if (flag)
     {
         textBox1.Text = "输入中...";
         textBox2.Text = GlobalVar.str_formula;
     }
     else
     {
         textBox1.Text = "计算式有异常...";
         GlobalVar.str_formula = "";
     }
 }

 private void Dividebutton_Click(object sender, EventArgs e)
 {

     double Value = 0;
     double.TryParse(GlobalVar.str_num, out Value);
     bool flag = CalculateFunction(GlobalVar.calculateType, Value);
     //GlobalVar.num1 = 0;
     GlobalVar.str_num = "";
     GlobalVar.str_formula += "/";
     GlobalVar.calculateType = 3;
     if (flag)
     {
         textBox1.Text = "输入中...";
         textBox2.Text = GlobalVar.str_formula;
     }
     else
     {
         textBox1.Text = "计算式有异常...";
         GlobalVar.str_formula = "";
     }
 }

全局变量

    public class GlobalVar
    {
        public static string str_num = "";//单个数据字符串
        public static string str_formula = "";//表达式字符串
        public static double calculateNum = 0;//计算结果
        public static int calculateType = 4;
    }

运行效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值