欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现简单的计算器功能(窗体)

程序员文章站 2022-03-01 13:28:39
本文实例为大家分享了c#实现简单的计算器功能的具体代码,供大家参考,具体内容如下1.界面设计2.代码using system;using system.collections.generic;usin...

本文实例为大家分享了c#实现简单的计算器功能的具体代码,供大家参考,具体内容如下

1.界面设计

C#实现简单的计算器功能(窗体)

2.代码

using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.windows.forms;

namespace calculator3
{
    public partial class form1 : form
    {
        private string num1, num2;//计算器的操作数,成员变量
        private string opr;//操作符
        public form1()
        {
            initializecomponent();
        }
        //数字按钮点击事件的方法
        private void numclick(object sender, eventargs e)
        {
            button button = (button)sender;
            if (string.isnullorempty(opr))//如果还没有输入操作符
            {
                num1 = num1 + button.text;//输入第一个参与运算的数;字符串的链接个十百千
            }
            else
            {
                num2 = num2 + button.text;//输入第二个参与运算的数;字符串的链接个十百千
            }
            txtresult.text = txtresult.text + button.text;
        }
        //操作符按钮点击事件的方法
        private void oprclick(object sender, eventargs e)
        {
            button button=(button)sender;
            if (string.isnullorempty(num2))//如果还没有输入数字,则不允许按操作符
            {
                messagebox.show("此时不应该按入操作符!");
                return;
            }
            opr = button.text;
            txtresult.text = txtresult.text + button.text;
        }
        //“=”事件,即计算
        private void btnget_click(object sender, eventargs e)
        {
            if (string.isnullorempty(opr)

                || string.isnullorempty(num1)
                || string.isnullorempty(num2))
            {
                messagebox.show("您输入的内容有误!");
                return;
            }
          
            
                txtresult.text = txtresult.text + "=";//将“=”拼接到框框里
            //进行两个数的运算
                switch (opr)
                { 
                    case "+":
                        txtresult.text = txtresult.text + (int32.parse(num1) + int32.parse(num2));
                        break;
                    case "-":
                        txtresult.text = txtresult.text + (int32.parse(num1) - int32.parse(num2));
                        break;
                    case "*":
                        txtresult.text = txtresult.text + (int32.parse(num1) * int32.parse(num2));
                        break;
                    case "/":
                        if (num2 == "0")
                        {
                            messagebox.show("除数不可以为零!");
                        }
                        txtresult.text = txtresult.text + (int32.parse(num1) / int32.parse(num2));
                        break;
                }
            

        }
        //清除事件
        private void btnclear_click(object sender, eventargs e)
        {
            txtresult.text = "";
            num1 = "";
            num2 = "";
            opr = "";
        }   
    }
}

3.总结分析

按钮点击事件:当多数按钮的点击效果一致时,可使用同一个click事件(名字一致即可)

//仅作举例使用
//关键代码
button button = (button)sender;
//此时字符串的链接
num1 = num1 + button.text;//输入第一个参与运算的数;字符串的链接个十百千

代码不足之处

仅供两个操作数的运算使用,新加操作数比较麻烦

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关标签: C# 计算器