winform 计算器
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace 计算器1
{
public partial class Form1 : Form
{
//存储上次点击了什么按钮,0代表什么都没点击,1代表点击了数字按钮,2代表点击了运算符
private int prev = ;
//存储计算的中间结果
private decimal zj = ;
//记录上次按的什么运算符
private string prevysf = "+";
public Form1()
{
InitializeComponent();
}
//数字按钮
private void button15_Click(object sender, EventArgs e)
{
//将事件源转换为按钮
Button btn = sender as Button;
//替换(如果下面文本框内容为0或者上次点击了运算符)
if (prev == || txtbottom.Text == "")
{
txtbottom.Text = btn.Text;
}
//追加(如果下面文本框内容不为0并且上次没有点击运算符)
else
{
txtbottom.Text += btn.Text;
}
//点击了数字按钮
prev = ;
}
//运算符按钮
private void button16_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
//上次按了数字
if (prev == )
{
txttop.Text += txtbottom.Text + btn.Text;
switch (prevysf)
{
case "+":
zj = zj + Convert.ToDecimal(txtbottom.Text);
break;
case "-":
zj = zj - Convert.ToDecimal(txtbottom.Text);
break;
case "*":
zj = zj * Convert.ToDecimal(txtbottom.Text);
break;
case "/":
zj = zj / Convert.ToDecimal(txtbottom.Text);
break;
}
txtbottom.Text = zj.ToString();
}
//上次按了运算符
else
{
string s = txttop.Text;
s = s.Substring(, s.Length - );
s = s + btn.Text;
txttop.Text = s;
}
//点击了运算符
prev = ;
//记录下运算符
prevysf = btn.Text;
}
//清零
private void button1_Click(object sender, EventArgs e)
{
txttop.Text = "";
txtbottom.Text = "";
prev = ;
zj = ;
prevysf = "+";
}
//清零
private void button2_Click(object sender, EventArgs e)
{
txtbottom.Text = "";
}
//等号
private void button20_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
txttop.Text += txtbottom.Text + btn.Text; switch (prevysf)
{
case "+":
zj = zj + Convert.ToDecimal(txtbottom.Text);
break;
case "-":
zj = zj - Convert.ToDecimal(txtbottom.Text);
break;
case "*":
zj = zj * Convert.ToDecimal(txtbottom.Text);
break;
case "/":
zj = zj / Convert.ToDecimal(txtbottom.Text);
break;
} txtbottom.Text = zj.ToString();
txttop.Text = ""; zj = ;
}
//小数点
private void button19_Click(object sender, EventArgs e)
{
if(txtbottom.Text.Contains(".")==false)
txtbottom.Text += ".";
}
//退格
private void button3_Click(object sender, EventArgs e)
{
txtbottom.Text = txtbottom.Text.Substring(,txtbottom.TextLength-);
}
//±号控制
private void button17_Click(object sender, EventArgs e)
{
if(!txtbottom.Text.Contains("-"))
txtbottom.Text= txtbottom.Text.Insert(, "-");
else if (txtbottom.Text.Contains("-"))
txtbottom.Text = txtbottom.Text.Replace("-","");
}
//键盘控制
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
// if it is a hotkey, return true; otherwise, return false
switch (keyData)
{
case Keys.NumPad0:
//焦点定位到控件button_num_0上,即数字0键上
button18.Focus();
//执行按钮点击操作
button18.PerformClick();
return true;
case Keys.NumPad1:
button13.Focus();
button13.PerformClick();
return true;
case Keys.NumPad2:
button14.Focus();
button14.PerformClick();
return true;
case Keys.NumPad3:
button15.Focus();
button15.PerformClick();
return true;
case Keys.NumPad4:
button9.Focus();
button9.PerformClick();
return true;
case Keys.NumPad5:
button10.Focus();
button10.PerformClick();
return true;
case Keys.NumPad6:
button11.Focus();
button11.PerformClick();
return true;
case Keys.NumPad7:
button5.Focus();
button5.PerformClick();
return true;
case Keys.NumPad8:
button6.Focus();
button6.PerformClick();
return true;
case Keys.NumPad9:
button7.Focus();
button7.PerformClick();
return true;
case Keys.Back:
button3.Focus();
button3.PerformClick();
return true;
case Keys.Divide:
button4.Focus();
button4.PerformClick();
return true;
case Keys.Multiply:
button8.Focus();
button8.PerformClick();
return true;
case Keys.Subtract:
button12.Focus();
button12.PerformClick();
return true;
case Keys.Add:
button16.Focus();
button16.PerformClick();
return true;
case Keys.Enter:
button20.Focus();
button20.PerformClick();
return true;
case Keys.Delete:
button19.Focus();
button19.PerformClick();
return true;
//......
default:
break;
}
return base.ProcessCmdKey(ref msg, keyData);
} }
}
winform 计算器的更多相关文章
- Winform——计算器
namespace 计算器2._0 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } pr ...
- Winform——计算器进制转换
namespace 进制转换2._0 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } p ...
- [原][C#][winForm]分级基金折溢价WinForm网络计算器
分级基金折溢价WinForm网络计算器 通过子/母基金代码,从 [ 东方财富网,天天基金网,新浪 ] 抓取分级基金的子母基金数据(代码,名称,净值,价格), 并计算出子基金(A基金,B基金)以及母基金 ...
- winform操作windows系统计算器
winform对系统计算器的调用,启动,最大化最小化显示,在mainwindow设置topmost=true时,正常显示计算器并置顶. /// <summary> /// 获取窗体的句柄函 ...
- 1.C#WinForm基础制作简单计算器
利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...
- winform(四)——简单计算器制作
效果图: 代码区: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...
- winform制作简单计算器
public Form1() { InitializeComponent(); textBox2.Text = ";//主显示屏 textBox1.Text = "";/ ...
- WinForm 制作一个简单的计算器
namespace WindowsFormsApplication6 { public partial class Form1 : Form { //存储上次点击了什么按钮,0代表什么都没有点击,1代 ...
- C# winform(计算器)
随机推荐
- 【CodeVS】p1038 一元三次方程求解
题目描述 Description 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100 ...
- 使用command对象操作数据库
1.Command对象查询数据库 protected void Button1_Click(object sender, EventArgs e) { //读取web.config节点配置 strin ...
- jQuery延迟加载(懒加载)插件 – jquery.lazyload.js
引入:<script type="text/javascript" src="${base}/resources/shop/js/jquery.lazyload.j ...
- Apple Special Event, October 2013 (1080p)(苹果发布会)
Apple iPhone 5C(16G) 3G智能手机(粉色 北京联通惊喜合约价3899,购机送费含200话费,率先上市,限量抢购)
- [转载]学习VC MFC开发必须了解的常用宏和指令————复习一下
1.#include指令 包含指定的文件 2.#define指令 预定义,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善.背后一长串”的宏,它本身并不在编译过程中进行,而 ...
- c语言中的文件流
一.打开和关闭文件 #include int main( void ) { FILE* pReadFile = fopen( "E:\\mytest.txt", "r&q ...
- jQuery 插件autocomplete
jQuery 插件autocomplete 自动加载 参考: http://www.cnblogs.com/Peter-Zhang/archive/2011/10/22/2221147.html ht ...
- html第二天CSS
- iPhone的設置——FaceTime頁面
這裏說的是蘋果的Hand off功能,系統升級後,蘋果的多部設備可以更好的“連續互通”.有電話打進來,iPhone.iPad和Mac都能收到,用戶可以任意選擇一款設備接電 話.同樣,iMessage也 ...
- VirtualMachine所支持的操作
在JDK中com.sun.tools.attach.VirtualMachine提供了一些从外部进程attach到jvm上,并执行一些操作的功能.VirtualMachine的子类HotSpotVir ...