WindowsForm 计算器
生活随笔
收集整理的這篇文章主要介紹了
WindowsForm 计算器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ?計算器? ? ? ? ? ? ?
?
?
可以分一下類
? ? ?數字鍵
? ? ?+ - * / %
? ? ? =和撤銷
? ? ?歸零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 WindowsFormsApplication4 {public partial class Form2 : Form{public Form2(){InitializeComponent();}//記錄是否剛點過運算符private bool isok = true;//記錄結果private decimal Sum;//記錄上一次的運算符private string PreYunsuanfu;//記錄表達式private string Biaodashi;private void btnling_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "0";// isok = false; }else{txtshuru.Text += "0";}}private void btnyi_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "1";isok = false;}else{txtshuru.Text += "1";}}private void btner_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "2";isok = false;}else{txtshuru.Text += "2";}}private void btnsan_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "3";isok = false;}else{txtshuru.Text += "3";}}private void btnsi_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "4";isok = false;}else{txtshuru.Text += "4";}}private void btnwu_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "5";isok = false;}else{txtshuru.Text += "5";}}private void btnliu_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "6";isok = false;}else{txtshuru.Text += "6";}}private void btnqi_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "7";isok = false;}else{txtshuru.Text += "7";}}private void btnba_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "8";isok = false;}else{txtshuru.Text += "8";}}private void btnjiu_Click(object sender, EventArgs e){if (isok){txtshuru.Text = "9";isok = false;}else{txtshuru.Text += "9";}}private void btnjia_Click(object sender, EventArgs e){if (PreYunsuanfu == null){Sum = decimal.Parse(txtshuru.Text);Biaodashi = txtshuru.Text;}else{if (!isok){if (PreYunsuanfu == "+"){Sum = Sum + decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "-"){Sum = Sum - decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "*"){Sum = Sum * decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "/"){Sum = Sum / decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "%"){Sum = Sum % decimal.Parse(txtshuru.Text);}Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;}}txtjisuanshi.Text = Biaodashi + "+";PreYunsuanfu = "+";isok = true;txtshuru.Text = Sum.ToString();}private void btnjian_Click(object sender, EventArgs e){if (PreYunsuanfu == null){Sum = decimal.Parse(txtshuru.Text);Biaodashi = txtshuru.Text;}else{if (!isok){if (PreYunsuanfu == "+"){Sum = Sum + decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "-"){Sum = Sum - decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "*"){Sum = Sum * decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "/"){Sum = Sum / decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "%"){Sum = Sum % decimal.Parse(txtshuru.Text);}Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;}}txtjisuanshi.Text = Biaodashi + "-";PreYunsuanfu = "-";isok = true;txtshuru.Text = Sum.ToString();}private void btncheng_Click(object sender, EventArgs e){if (PreYunsuanfu == null){Sum = decimal.Parse(txtshuru.Text);Biaodashi = txtshuru.Text;}else{if (!isok){if (PreYunsuanfu == "+"){Sum = Sum + decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "-"){Sum = Sum - decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "*"){Sum = Sum * decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "/"){Sum = Sum / decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "%"){Sum = Sum % decimal.Parse(txtshuru.Text);}Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;}}txtjisuanshi.Text = Biaodashi + "*";PreYunsuanfu = "*";isok = true;txtshuru.Text = Sum.ToString();}private void btnchu_Click(object sender, EventArgs e){if (PreYunsuanfu == null){Sum = decimal.Parse(txtshuru.Text);Biaodashi = txtshuru.Text;}else{if (!isok){if (PreYunsuanfu == "+"){Sum = Sum + decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "-"){Sum = Sum - decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "*"){Sum = Sum * decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "/"){Sum = Sum / decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "%"){Sum = Sum % decimal.Parse(txtshuru.Text);}Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;}}txtjisuanshi.Text = Biaodashi + "/";PreYunsuanfu = "/";isok = true;txtshuru.Text = Sum.ToString();}private void btnmo_Click(object sender, EventArgs e){if (PreYunsuanfu == null){Sum = decimal.Parse(txtshuru.Text);Biaodashi = txtshuru.Text;}else{if (!isok){if (PreYunsuanfu == "+"){Sum = Sum + decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "-"){Sum = Sum - decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "*"){Sum = Sum * decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "/"){Sum = Sum / decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "%"){Sum = Sum % decimal.Parse(txtshuru.Text);}Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;}}txtjisuanshi.Text = Biaodashi + "%";PreYunsuanfu = "%";isok = true;txtshuru.Text = Sum.ToString();}private void btnClear_Click(object sender, EventArgs e){txtshuru.Text = "0";txtjisuanshi.Text = "";isok = true;PreYunsuanfu = null;Sum = 0;Biaodashi = "";}private void btnchexiao_Click(object sender, EventArgs e){if (!isok){if (txtshuru.Text.Length == 1){txtshuru.Text = "0";isok = true;}else{txtshuru.Text = txtshuru.Text.Substring(0, txtshuru.Text.Length - 1);}}}private void btndian_Click(object sender, EventArgs e){if (txtshuru.Text == "0"){txtshuru.Text = "0.";}if (!isok && !txtshuru.Text.Contains(".")){ txtshuru.Text += ".";}isok = false;}private void btndeng_Click(object sender, EventArgs e){txtjisuanshi.Text = "";if (PreYunsuanfu == "+"){Sum = Sum + decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "-"){Sum = Sum - decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "*"){Sum = Sum * decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "/"){Sum = Sum / decimal.Parse(txtshuru.Text);}if (PreYunsuanfu == "%"){Sum = Sum % decimal.Parse(txtshuru.Text);}txtshuru.Text = Sum.ToString();isok = true;Biaodashi = "";Sum = 0;PreYunsuanfu = null;}private void btnzhengfu_Click(object sender, EventArgs e){if (!isok){if (decimal.Parse(txtshuru.Text) > 0){txtshuru.Text = "-" + txtshuru.Text;}else{txtshuru.Text = txtshuru.Text.Substring(1);}}}} } 計算器 很詳細的 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 FirstForm {public partial class JiSuanQi : Form{public JiSuanQi(){InitializeComponent();}private double sum=0;private string biaodashi;private string Preyunsuanfu;//存放之前的運算符private bool isok = true;//用來判斷是否剛剛點過運算符private void btnling_Click(object sender, EventArgs e){Button btn = (Button)sender;if (isok){txtshuru.Text = btn.Text;isok = false;}else{txtshuru.Text += btn.Text;}}private void btnjia_Click(object sender, EventArgs e){Button btn = (Button)sender;string yunsuanfu = btn.Text;if (Preyunsuanfu == null){biaodashi += txtshuru.Text;sum = double.Parse(txtshuru.Text);}else{if (!isok){if (Preyunsuanfu == "+"){sum += double.Parse(txtshuru.Text);}if (Preyunsuanfu == "-"){sum -= double.Parse(txtshuru.Text);}if (Preyunsuanfu == "*"){sum *= double.Parse(txtshuru.Text);}if (Preyunsuanfu == "/"){sum /= double.Parse(txtshuru.Text);}if (Preyunsuanfu == "%"){sum %= double.Parse(txtshuru.Text);}biaodashi = biaodashi+ Preyunsuanfu + txtshuru.Text;txtshuru.Text = sum.ToString();} }txtjisuanshi.Text = biaodashi + yunsuanfu;Preyunsuanfu = yunsuanfu;isok = true;}private void btndeng_Click(object sender, EventArgs e){}private void btnchexiao_Click(object sender, EventArgs e){}} } 計算器 另一種方法?
轉載于:https://www.cnblogs.com/981971554nb/p/4333337.html
總結
以上是生活随笔為你收集整理的WindowsForm 计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql修改默认编码为UTF8
- 下一篇: 约瑟夫环算法