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; ...
随机推荐
- [LintCode] Happy Number 快乐数
Write an algorithm to determine if a number is happy. A happy number is a number defined by the foll ...
- [CareerCup] 18.12 Largest Sum Submatrix 和最大的子矩阵
18.12 Given an NxN matrix of positive and negative integers, write code to find the submatrix with t ...
- [LintCode] Super Ugly Number 超级丑陋数
Write a program to find the nth super ugly number. Super ugly numbers are positive numbers whose all ...
- 制作本地 odoo deb包安装镜像
[本来这不是个事,可是在阿里云部署的时候,这个网速真是让我无语,本来10分钟就能解决的事,得俩三个小时,太没效率了!] 原文转自 http://www.cnblogs.com/xwdreamer/p/ ...
- 【8.0、9.0c】树形列表 列标题 不对齐的问题及解决方案
树形视图状态经常会碰到字体上下排列不整齐的问题,虽不是什么大问题,但对某些处女座的人来说,真的是如鲠在喉,今天我们就来解决这个问题: 首先呢,这个问题的起因,不是前端css的问题,也不是js的问题,而 ...
- iPhone6分辨率与适配
iPhone6分辨率与适配 分辨率和像素 经新xcode6模拟器验证(分辨率为pt,像素为真实pixel): iPhone5分辨率320x568,像素640x1136,@2x iPhone6分辨率37 ...
- 关于viewpoint的疑惑
问题: 为什么在手机上打开一个PC web页面,用手机打开一个宽度为980的固定布局页面,页面会默认缩放到刚好满屏显示,并不会出现横向滚动条? 一:设备像素和CSS像素区别 现代浏览器中实现缩放的方式 ...
- 配置samba服务一例
问题: 在/data/share目录下建立三个子目录public.training.devel用途如下 public目录用于存放公共数据,如公司的规章制度 training目录用于存放公司的技术培训资 ...
- Python 基础 - 随机列表的交集
# -*- coding: utf-8 -*- #author:v def shiyiwenpapa(): def sywmemeda(l): #冒泡排序 length = len(l) for i ...
- sublime3+quick智能提示
sublime3+quick智能提示 1. 安装PackegeControl 下载 https://sublime.wbond.net/Package%20Control.sublime-packag ...