C#计算器代码
在刚刚接触c#的时候,就想做一个简单加减乘除计算器。这就是目标,可惜一直没有动手去做,今天特意把它简单做了。很简单,很简单,了却一个心愿了。
代码:
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 MyPictureDownloader
{
//http://blog.sina.com.cn/s/blog_60d576800100tf5z.html
//http://jingyan.baidu.com/article/380abd0a6b80701d90192cde.html
public partial class JiSuanQi : Form
{
public JiSuanQi()
{
InitializeComponent();
initButton();
} public delegate double Operater(double num1, double num2);
public void initButton()
{
var p = new Point(, );
Button[] listbtn = new Button[];
for (int i = ; i < ; i++)
{
listbtn[i] = new Button();
listbtn[i].Name = "btn" + (i + ).ToString();
listbtn[i].Text = (i+).ToString();
listbtn[i].SetBounds(p.X, p.Y, , );
listbtn[i].Click+= new System.EventHandler(ClickHandler);
this.Controls.Add(listbtn[i]);
p.X += ;
if (p.X >= this.Width - )
{
p.X =;
p.Y += ;
}
}
}
public void ClickHandler(Object sender, System.EventArgs e)
{
Button btn = (Button)sender;
string temp=txtnum.Text.ToString()+btn.Text;//这样解决了重复点击赋值问题
txtnum.Text = temp;
} private void btnzero_Click(object sender, EventArgs e)
{
string temp = txtnum.Text.ToString() + btnzero.Text;//这样解决了重复点击赋值问题
txtnum.Text = temp;
} public double jisuan(string caozuofu, Operater fanga)
{
double num2 = double.Parse(txtnum.Text);
double jieguo = ;
//switch(caozuofu){
// case"+":
// jieguo = fanga(tempnum, num2);
// break;
// case "-":
// jieguo = fanga(tempnum, num2);
// break;
// case "*":
// jieguo = fanga(tempnum, num2);
// break;
// case "/":
// jieguo = fanga(tempnum, num2);
// break;
//}
jieguo = fanga(tempnum, num2);
return jieguo;
} public double add(double num1, double num2)
{
return num1 + num2;
} public double jian(double num1, double num2)
{
return num1- num2;
} public double cheng(double num1, double num2)
{
return num1 * num2;
} public double chu(double num1, double num2)
{
double result = ;
if (num2!=)
{
result= num1 / num2;
}
return result;
}
public double tempnum = ;
public string caozuofu = "";
public event Operater fangfa;
private void btnresult_Click(object sender, EventArgs e)
{
txtnum.Text = jisuan(caozuofu, fangfa).ToString();
} private void btnadd_Click(object sender, EventArgs e)
{
tempnum = double.Parse(txtnum.Text);
caozuofu = btnadd.Text;
txtnum.Text = "";
fangfa = add;
} private void btnde_Click(object sender, EventArgs e)
{
tempnum = double.Parse(txtnum.Text);
caozuofu = btnde.Text;
txtnum.Text = "";
fangfa = jian;
} private void btncheng_Click(object sender, EventArgs e)
{
tempnum = double.Parse(txtnum.Text);
caozuofu = btncheng.Text;
txtnum.Text = "";
fangfa = cheng;
} private void btnchu_Click(object sender, EventArgs e)
{
tempnum = double.Parse(txtnum.Text);
caozuofu = btnchu.Text;
txtnum.Text = "";
fangfa = chu;
} private void btndian_Click(object sender, EventArgs e)
{
if (txtnum.Text.ToString()=="")
{
txtnum.Text = "";
}
string temp="";
if (txtnum.Text.ToString().IndexOf(".") > )//解决只能包含一个小数点
{
temp = txtnum.Text.ToString();
}
else
{
temp = txtnum.Text.ToString() + btndian.Text;//这样解决了重复点击赋值问题
}
txtnum.Text = temp;
}
}
}
初始界面:

运行后的界面:

几个数字按钮是动态生成的,这就是我想要做的计算器。
C#计算器代码的更多相关文章
- js加减乘除在线计算器代码
js加减乘除在线计算器代码 在线演示本地下载
- 在ASP.NET里实现计算器代码的封装
一.具体代码 Default2.aspx.cs public partial class Chapter1_Default2 : System.Web.UI.Page { protected void ...
- java代码----------计算器代码
总结: 很多不完善—— package com.rue; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.a ...
- 一段简单的手写Java计算器代码
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.lang.*; public class Calc ...
- HTML网页之计算器代码
计算器网页效果显示:点击这里! <script> function show(){ var date = new Date(); //日期对象 var now = "&qu ...
- 计算器<代码>
import re l_no = "-4.0*-4+((-1-8.0*2*-1)-(-9.456/1.57))/8+-8*7" true_tr = "-4.0*-4+(( ...
- PHP房贷计算器代码,等额本息,等额本金
debx(); function debx() { $dkm = 240; //贷款月数,20年就是240个月 $dkTotal = 10000; //贷款总额 $dknl = 0.0515; //贷 ...
- Python使用re实现计算器
re 正则表达式 计算器 海瑞博客-学习python之路•2016-12-01•Python• 59•0•A+ A- re是一门小型语言 元字符 . 通配符除了\n ^ 以什么开始的 ...
- PHP图形计算器(计算三角形矩形周长面积)
运用PHP面向对象的知识设计一个图形计算器,同时也运用到了抽象类知识,这个计算器可以计算三角形的周长和面积以及矩形的周长和面积.本图形计算器有4个页面:1.PHP图形计算器主页index.php; ...
随机推荐
- Jenkins 2.7.3 LTS 发布
更新如下: Stop A/B testing of the remoting JNLP3 protocol due to the known issues. The protocol can be e ...
- Java面向对象编程
面向对象的软件开发: 面向对象的开发把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成复杂的子系统. 面向对象的开发方法具有以下优点: 1.把软件系统看成是各种对象的集合,更 ...
- 第三章 Odoo基本设置
登录 正常访问http://localhost:8069后,登录的界面如下: 这是Odoo默认的认证方式,也是我们最常见最熟悉的认证方式,7.0以前,数据库中的密码都是以明文方式存储,可以很轻松地在r ...
- asp.net自定义404页面
网上有很多方法,不过大体相同,这只是其中一个方法,亲测有效,记录后面可能会有用 1. 先写好一个404页面 404.aspx在项目根目录下 然后在配置文件中添加 <!-- 注意这个模式,redi ...
- tomcat域名问题
首先可以确认,tomcat支持以下的配置: 1.同一个tomcat配置多个端口来发布不同的应用,配置多个<Service>即可; 2.同一个tomcat可以配置多个虚拟主机,以指定不同的域 ...
- Java开发搜索引擎爬虫
package com.peidon.html; import java.io.BufferedReader; import java.io.File; import java.io.FileOutp ...
- js 随机数 洗牌算法
function shuffle(arr){ var len = arr.length; for(var i = 0;i<len -1;i++) { var idx = Math.floor(M ...
- Python中的属性管理
Python管 理属性的方法一般有三种:操作符重载(即,__getattr__.__setattr__.__delattr__和 __getattribute__,有点类似于C++中的重载操作符).p ...
- 一封给JVM懵懂者的情书【不看错过一生幸福】
别说你懂我 你只是在意Java你把我留在家里身和心却始终在她那里难道我只是她的附属品?错,我是我,我是JVM,没有我就没有他! 如果你想懂我或者不管你是否懂我我都在这里等你---[深入JVM内核—原理 ...
- Unity学习疑问记录之Apply Root Motion
Should we control the character's position from the animation itself or from script. 如果我们勾选了Animator ...