微软MSDN的代码库就有示例

http://code.msdn.microsoft.com/Simple-Calculator-54ec8e4a

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 SimpleCalculator 

    public partial class frmCalculator : Form 
    { 
        string operand1 = string.Empty; 
        string operand2 = string.Empty; 
        string result; 
        char operation; 
 
        public frmCalculator() 
        { 
            InitializeComponent(); 
        } 
 
        private void frmCalculator_Load(object sender, EventArgs e) 
        { 
            btnOne.Click += new EventHandler(btn_Click); 
            btnTwo.Click += new EventHandler(btn_Click); 
            btnThree.Click += new EventHandler(btn_Click); 
            btnFour.Click += new EventHandler(btn_Click); 
            btnFive.Click += new EventHandler(btn_Click); 
            btnSix.Click += new EventHandler(btn_Click); 
            btnSeven.Click += new EventHandler(btn_Click); 
            btnEight.Click += new EventHandler(btn_Click); 
            btnNine.Click += new EventHandler(btn_Click); 
            btnZero.Click += new EventHandler(btn_Click); 
            btnDot.Click += new EventHandler(btn_Click); 
        } 
 
        void btn_Click(object sender, EventArgs e) 
        { 
            try 
            { 
                Button btn = sender as Button; 
 
                switch (btn.Name) 
                { 
                    case "btnOne": 
                        txtInput.Text += "1"; 
                        break; 
                    case "btnTwo": 
                        txtInput.Text += "2"; 
                        break; 
                    case "btnThree": 
                        txtInput.Text += "3"; 
                        break; 
                    case "btnFour": 
                        txtInput.Text += "4"; 
                        break; 
                    case "btnFive": 
                        txtInput.Text += "5"; 
                        break; 
                    case "btnSix": 
                        txtInput.Text += "6"; 
                        break; 
                    case "btnSeven": 
                        txtInput.Text += "7"; 
                        break; 
                    case "btnEight": 
                        txtInput.Text += "8"; 
                        break; 
                    case "btnNine": 
                        txtInput.Text += "9"; 
                        break; 
                    case "btnZero": 
                        txtInput.Text += "0"; 
                        break; 
                    case "btnDot": 
                        if(!txtInput.Text.Contains(".")) 
                            txtInput.Text += "."; 
                        break; 
 
                } 
            } 
            catch(Exception ex) 
            { 
                MessageBox.Show("Sorry for the inconvenience, Unexpected error occured. Details: " + 
                    ex.Message); 
            } 
        } 
 
        private void txtInput_KeyPress(object sender, KeyPressEventArgs e) 
        { 
            switch (e.KeyChar) 
            { 
                case '1': 
                case '2': 
                case '3': 
                case '4': 
                case '5': 
                case '6': 
                case '7': 
                case '8': 
                case '9': 
                case '0': 
                //case '+': 
                //case '-': 
                //case '*': 
                //case '/': 
                //case '.': 
                    break; 
                default: 
                    e.Handled = true; 
                    MessageBox.Show("Only numbers, +, -, ., *, / are allowed"); 
                    break; 
            }            
        } 
 
        private void txtInput_TextChanged(object sender, EventArgs e) 
        { 
             
        } 
 
        private void btnPlus_Click(object sender, EventArgs e) 
        { 
            operand1 = txtInput.Text; 
            operation = '+'; 
            txtInput.Text = string.Empty; 
        } 
 
        private void btnMinus_Click(object sender, EventArgs e) 
        { 
            operand1 = txtInput.Text; 
            operation = '-'; 
            txtInput.Text = string.Empty; 
        } 
 
        private void btnMulitply_Click(object sender, EventArgs e) 
        { 
            operand1 = txtInput.Text; 
            operation = '*'; 
            txtInput.Text = string.Empty; 
        } 
 
        private void btnDivide_Click(object sender, EventArgs e) 
        { 
            operand1 = txtInput.Text; 
            operation = '/'; 
            txtInput.Text = string.Empty; 
        } 
 
        private void btnEqual_Click(object sender, EventArgs e) 
        { 
            operand2 = txtInput.Text; 
 
            double opr1, opr2; 
            double.TryParse(operand1, out opr1); 
            double.TryParse(operand2, out opr2); 
 
            switch (operation) 
            { 
                case '+': 
                    result = (opr1 + opr2).ToString(); 
                    break; 
 
                case '-': 
                    result = (opr1 - opr2).ToString(); 
                    break; 
 
                case '*': 
                    result = (opr1 * opr2).ToString(); 
                    break; 
 
                case '/': 
                    if (opr2 != 0) 
                    { 
                        result = (opr1 / opr2).ToString(); 
                    } 
                    else 
                    { 
                        MessageBox.Show("Can't divide by zero"); 
                    } 
                    break; 
            } 
 
            txtInput.Text = result.ToString(); 
        } 
 
        private void btnClear_Click(object sender, EventArgs e) 
        { 
            txtInput.Text = string.Empty; 
            operand1 = string.Empty; 
            operand2 = string.Empty; 
        } 
 
        private void btnSqrRoot_Click(object sender, EventArgs e) 
        { 
            double opr1; 
            if (double.TryParse(txtInput.Text, out opr1)) 
            { 
                txtInput.Text = (Math.Sqrt(opr1)).ToString(); 
            } 
        } 
 
        private void btnByTwo_Click(object sender, EventArgs e) 
        { 
            double opr1; 
            if (double.TryParse(txtInput.Text, out opr1)) 
            { 
                txtInput.Text = (opr1 / 2).ToString(); 
            } 
        } 
 
        private void btnByFour_Click(object sender, EventArgs e) 
        { 
            double opr1; 
            if (double.TryParse(txtInput.Text, out opr1)) 
            { 
                txtInput.Text = (opr1 / 4).ToString(); 
            } 
        } 
    } 
}

c#简易计算器的更多相关文章

  1. 自制c#简易计算器

    这是一个课堂作业,我觉得作为一个简易的计算器不需要态度复杂的东西,可能还有一些bug,有空再慢慢加强. using System;using System.Collections.Generic;us ...

  2. 剖析简易计算器带你入门微信小程序开发

    写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...

  3. PHP学习笔记02——简易计算器

    <!DOCTYPE html> <html> <head> <title>PHP简易计算器</title> </head> &l ...

  4. JavaScript之简易计算器

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  5. 菜鸟学习Struts——简易计算器

    这是学习Struts的一个简单的例子文件结构如下: 1.配置Struts环境 2.新建input.jsp,success.jsp,error.jsp input.jsp代码如下: <%@ pag ...

  6. Python之实现一个简易计算器

    自己动手写计算器 一.功能分析 用户输入一个类似这样 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里 ...

  7. 使用HTML+CSS,jQuery编写的简易计算器

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  8. 使用HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)

    之前发布了一款简易的计算器,今天做了一下修改,添加了键盘监听事件,不用再用鼠标点点点啦 JS代码: var yunSuan = 0;// 运算符号,0-无运算;1-加法;2-减法;3-乘法;4-除法 ...

  9. C#Windows Form简易计算器实现(中)

    昨天花了一天的时间弄计算器.也算是做出来了,还是简易的(怀疑猿生!!).在此先感谢昨天被我骚扰的朋友. 先贴一张界面看看 其实健壮性还是挺差的,用户体验也是极差的.比如说用户输入了不合理运算式子,我就 ...

  10. C#Windows Form简易计算器实现(上)

    第一次写博客,来分享一个简易计算器的代码.作为一名准程序员,就是要多写代码才能孰能生巧.重视基础知识才能飞的更快更高以及更稳. 代码可能会写的很糟糕,不完美不安全之处希望发现的越多越好 c#编写计算器 ...

随机推荐

  1. Office 2010/2007 简繁体转换按钮不见了?

    注:此文章来自微软官方,原文链接:http://support.microsoft.com/kb/2459493/zh-tw 经测试可解决问题.——————————– 通常发生这样的问题,是由于繁简转 ...

  2. VCF (Variant Call Format)格式详解

    文章来源:http://www.cnblogs.com/emanlee/p/4562064.html VCF文件示例(VCFv4.2) ##fileformat=VCFv4.2 ##fileDate= ...

  3. 微信公众平台开放JS-SDK(微信内网页开发工具包)

    微信公众平台开放JS-SDK(微信内网页开发工具包),这次开放接口是质的飞跃,是对开发者和广大用户一个利好的消息.未来的公众号图文消息会更丰富多彩,准备脑洞大开吧!(第三方平台正式支持接入微信公众平台 ...

  4. linux 中断理解

    1.进程.线程只针对的是应用层,而内核调用.驱动没有这种概念,调用的都是内核调用里相同的函数或变量,所以应用层多个应用操作同个硬件时,特别是要加互斥操作,8250通过cs针脚决定发送数据给哪个串口 2 ...

  5. MVC后台传dt数据

    //MVC后台传dt数据 public JsonResult TeacherVoteInfo([FromBody]Teacher_VoteModel model) { string tname = m ...

  6. Code First03---CodeFirst根据配置同步到数据库的三种方式

    上一节我们说到使用Fluent API对实体的配置,但是有一个问题了,在业务中我们可以用到的实体很多,那是不是每个都需要这样去配置,这样就造成我们重写的OnModelCreating方法很庞大了.所以 ...

  7. 如何把其他用户创建的表,导入到自己数据库是,所有者owner改变为自己创建的用户

     1. 导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp2. 导入用户 impdp user2/pass2 directory=d ...

  8. BZOJ4034——[HAOI2015]T2

    1.题目大意:用一个数据结构支持树的点修改和子树修改.树上路径和 2.分析:树链剖分裸题 #include <cstdio> #include <cstdlib> #inclu ...

  9. Extjs 学习笔记1

    学习笔记 目   录 1 ExtJs 4 1.1 常见错误处理 4 1.1.1 多个js文件中有相同的控件,切换时无法正常显示 4 1.1.2 Store的使用方法 4 1.1.3 gridPanel ...

  10. cell 和 cellHeight的先后执行顺序

    UITableView 在运行过程中,总是,先生成一个UITableViewCell ,然后一次这个cell的height.