c#简易计算器
微软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#简易计算器的更多相关文章
- 自制c#简易计算器
这是一个课堂作业,我觉得作为一个简易的计算器不需要态度复杂的东西,可能还有一些bug,有空再慢慢加强. using System;using System.Collections.Generic;us ...
- 剖析简易计算器带你入门微信小程序开发
写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...
- PHP学习笔记02——简易计算器
<!DOCTYPE html> <html> <head> <title>PHP简易计算器</title> </head> &l ...
- JavaScript之简易计算器
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- 菜鸟学习Struts——简易计算器
这是学习Struts的一个简单的例子文件结构如下: 1.配置Struts环境 2.新建input.jsp,success.jsp,error.jsp input.jsp代码如下: <%@ pag ...
- Python之实现一个简易计算器
自己动手写计算器 一.功能分析 用户输入一个类似这样 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里 ...
- 使用HTML+CSS,jQuery编写的简易计算器
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 使用HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
之前发布了一款简易的计算器,今天做了一下修改,添加了键盘监听事件,不用再用鼠标点点点啦 JS代码: var yunSuan = 0;// 运算符号,0-无运算;1-加法;2-减法;3-乘法;4-除法 ...
- C#Windows Form简易计算器实现(中)
昨天花了一天的时间弄计算器.也算是做出来了,还是简易的(怀疑猿生!!).在此先感谢昨天被我骚扰的朋友. 先贴一张界面看看 其实健壮性还是挺差的,用户体验也是极差的.比如说用户输入了不合理运算式子,我就 ...
- C#Windows Form简易计算器实现(上)
第一次写博客,来分享一个简易计算器的代码.作为一名准程序员,就是要多写代码才能孰能生巧.重视基础知识才能飞的更快更高以及更稳. 代码可能会写的很糟糕,不完美不安全之处希望发现的越多越好 c#编写计算器 ...
随机推荐
- assign与weak区别(面试)
weak 比 assign 多了一个功能就是当属性所指向的对象消失的时候(也就是内存引用计数为0)会自动赋值为 nil ,这样再向 weak 修饰的属性发送消息就不会导致野指针操作crash. 可能不 ...
- gdb调试core文件
本人最近正在学习调试技术,此处对栈溢出做一些总结. gdb的基本使用就不多扯了. 主要针对发行在外的release版本的软件出现问题时的调试. 一般来讲,查看堆栈就是使用bt,这个时候加上bt ful ...
- ThinkPHP3.2.3 安装教程
本文以 Windows 平台为例 安装前准备:Windows操作系统的电脑,php编程环境(配置好了Apache.MySql.php).推荐wampserver. 待安 ...
- XML理解
XML:页面之间传递数据,跨平台传递,核心标签 HTML:超文本标记语言,核心标签 <xml version='1.0'>版本1.0<Nation> <one> & ...
- mysql-mysql优化
mysql数据库优化1.查询优化 (1)避免where 子句中对字段进行 null 值判断 (2)避免在 where 子句中使用 or 来连接条件 (3)少使用like,如果要用可以考虑全文检索 (4 ...
- Eclipse高级使用技巧
1. Eclipse的配置文件导入和导出功能 说明:可以将Eclipse的自定义的工作空间配置文件导出和导入,这样创建多工作空间时候就省去了再设置的烦恼. 2. Eclipse设置显示行号 说明:设置 ...
- mac 系统通用快捷键(mac 下的应用多数会往这些标准看齐)(转:http://yang3wei.github.io/blog/2013/02/08/chen-ni-yu-mac-chen-ni-yu-xcode/)
command + w: 关闭当前窗口 command + q: 退出程序 (Google Chrome 有点奇葩,按下之后还需要hold 那么一小会儿才能退出) command + m: 最小化当前 ...
- 跟着百度学PHP[4]OOP面对对象编程-7-OOP的一些关键子讲解
面对对象常用的一些关键子:http://www.cnblogs.com/xishaonian/p/6146794.html排版不是很好望见谅. THE END
- Python 学习笔记四
接着三继续写http://www.cnblogs.com/dzzy/p/5295019.html 文件和函数操作: from sys import argv script,input_file=arg ...
- linux 编程环境搭建过程记录
1, 安装centos 7 最小版 过程略 ...... 2, 安装桌面安装yum groupinstall "GNOME Desktop" 更新系统运行级别ln -sf /li ...