日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

winfrom实现简单计算器V2版本

發布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 winfrom实现简单计算器V2版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面,使用winform實現了個簡單的計算器,今天,再來給大家看一個稍微復雜點的計算器,效果圖如下:


包括歸零,退格,加減乘除都已經實現,如果想要繼續擴展的可以在稍微改改即可。
現在看看怎么實現的:
1.先從工具箱里面拉出來一個這樣的窗體:

2.歸零的方法:

private void qingchu_Click(object sender, EventArgs e){this.lbljieguo.Text = "0";sb = new StringBuilder("");}

3.退格的方法:

//退格的按鈕private void tuige_Click(object sender, EventArgs e){//判斷當前能不能點擊退格//判斷顯示框是否有值,有值的話可以刪除,沒有值的話提示不能刪除if (this.lbljieguo.Text.Length > 0){char ch = 'a'; //保存符號//遍歷字符串foreach (char c in sb.ToString()){ch = c; //最后一個值放在ch里面}//判斷最后一個是否是+-*/%if (ch != '+'){//如果是,不能動num1和num2,否則可以動if (flag == false){num1 = new StringBuilder(num1.ToString().Substring(0, num1.Length - 1));}else{num2 = new StringBuilder(num2.ToString().Substring(0, num2.Length - 1));}}ji = false;this.lbljieguo.Text = sb.ToString().Substring(0, this.lbljieguo.Text.Length - 1);sb = new StringBuilder(this.lbljieguo.Text);}else{MessageBox.Show("顯示框都沒有值,你刪啥?", "提示信息");}}

4.(1 2 3 4 5 6 7 8 9 0)的點擊事件:

//第一個數StringBuilder num1 = new StringBuilder();//第二個數StringBuilder num2 = new StringBuilder();//判斷是否是第一次輸入bool flag = false;//運算符string fu = "";//當計算完結果時,不能退格bool ji = false;StringBuilder sb = new StringBuilder();//7private void btn7_Click(object sender, EventArgs e){if (flag == false){num1.Append(7);}else{num2.Append(7);}sb.Append(7);this.lbljieguo.Text = sb.ToString();}//8private void btn8_Click(object sender, EventArgs e){if (flag == false){num1.Append(8);}else{num2.Append(8);}sb.Append(8);this.lbljieguo.Text = sb.ToString();}private void btn9_Click(object sender, EventArgs e){if (flag == false){num1.Append(9);}else{num2.Append(9);}sb.Append(9);this.lbljieguo.Text = sb.ToString();}private void btn4_Click(object sender, EventArgs e){if (flag == false){num1.Append(4);}else{num2.Append(4);}sb.Append(4);this.lbljieguo.Text = sb.ToString();}private void btn5_Click(object sender, EventArgs e){if (flag == false){num1.Append(5);}else{num2.Append(5);}sb.Append(5);this.lbljieguo.Text = sb.ToString();}private void btn6_Click(object sender, EventArgs e){if (flag == false){num1.Append(6);}else{num2.Append(6);}sb.Append(6);this.lbljieguo.Text = sb.ToString();}private void btn1_Click(object sender, EventArgs e){if (flag == false){num1.Append(1);}else{num2.Append(1);}sb.Append(1);this.lbljieguo.Text = sb.ToString();}private void btn2_Click(object sender, EventArgs e){if (flag == false){num1.Append(2);}else{num2.Append(2);}sb.Append(2);this.lbljieguo.Text = sb.ToString();}private void btn3_Click(object sender, EventArgs e){if (flag == false){num1.Append(3);}else{num2.Append(3);}sb.Append(3);this.lbljieguo.Text = sb.ToString();}private void btn0_Click(object sender, EventArgs e){if (flag == false){num1.Append(0);}else{num2.Append(0);}sb.Append(0);this.lbljieguo.Text = sb.ToString();}

5.加減乘除的點擊事件:

private void btnchu_Click(object sender, EventArgs e){flag = true;sb.Append("/");this.lbljieguo.Text = sb.ToString();fu = "/";}private void btnyu_Click(object sender, EventArgs e){flag = true;sb.Append("%");this.lbljieguo.Text = sb.ToString();fu = "%";}private void btnjia_Click(object sender, EventArgs e){flag = true;sb.Append("+");this.lbljieguo.Text = sb.ToString();fu = "+";}private void btnjian_Click(object sender, EventArgs e){flag = true;sb.Append("-");this.lbljieguo.Text = sb.ToString();fu = "-";}private void btncheng_Click(object sender, EventArgs e){flag = true;sb.Append("*");this.lbljieguo.Text = sb.ToString();fu = "*";}

6.等于的方法:

//等于的按鈕private void btndeng_Click(object sender, EventArgs e){//string xianshi = sb.ToString();switch (fu){case "+":this.lbljieguo.Text = (int.Parse(num1.ToString()) + int.Parse(num2.ToString())).ToString();break;case "-":this.lbljieguo.Text = (int.Parse(num1.ToString()) - int.Parse(num2.ToString())).ToString();break;case "*":this.lbljieguo.Text = (int.Parse(num1.ToString()) * int.Parse(num2.ToString())).ToString();break;case "/":this.lbljieguo.Text = (int.Parse(num1.ToString()) / int.Parse(num2.ToString())).ToString();break;case "%":this.lbljieguo.Text = (int.Parse(num1.ToString()) % int.Parse(num2.ToString())).ToString();break;}num1 = new StringBuilder("");num2 = new StringBuilder("");sb = new StringBuilder("");flag = false;ji = true; //顯示的是結果}

整個的實現方法以及代碼都已經給出,不做伸手黨,自己動腦思考思考,加油啊,在編碼路上的你們~~

總結

以上是生活随笔為你收集整理的winfrom实现简单计算器V2版本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。