亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#開發簡易winform計算器程序

2019-10-29 21:02:34
字體:
來源:轉載
供稿:網友

臨近年關,今日在學習的過程中感覺甚是無聊,便想用C#來開發一個簡易的計算器程序,這里記錄下今日下午的實現過程,同時也記錄下自己的第一遍博客。

一、需求

  首先我們先來決定我們的計算器要實現什么功能

  功能需求:1、能夠實現加、減、乘、除、求余等兩個操作數的運算,以及開方、平方單個操作數的運算

       2、能夠清除錯誤的輸入,能夠實現清零操作

  顯示需求:能夠顯示操作數與運算內容,顯示結果

二、設計界面

  1、在明白我們的功能需求后,我們來設計界面,界面主要包括三個部分,用于顯示的兩個textBox,以及數字鍵Button組,以及功能鍵Button組,對于具體的界面排列方法,以及Button的命名方式讀者可根據自己的喜好來設置,在這里我實現的界面如圖:

winform,計算器,C#開發

  2、控件命名,主要是命名控件的Name屬性(表示控件的名字),以及Text屬性(表示控件上的顯示字體)

  對于顯示區域命名為:textBox_top(顯示運算過程),textBox_show(顯示結果)

  對于功能區域命名為btn_name,name依次為(back,clear)表示清楚一位,和全部清零

  對于操作數區域命名為btn_name,name依次為(9,8,7,6,5,4,3,2,1,0,point,PI),表式10個數字、小數點和常數PI

  對于運算符區域命名為btn_name,name依次為(add,sub,mult,div,square,involution,remain,equal)表示加、減、乘、除、平方、開方、求余和等號

三、實現邏輯

  自己在沒做這個計算器程序之前,覺得這個程序很簡單,可是等做起來的時候發現不那么簡單,特別是這個邏輯,感覺很是繞,這里也提醒能夠看到本文的初學者一定不要眼高手低。其實這里的實現邏輯也并沒有那么復雜:首先,這里的運算包括,兩個操作數的運算,和一個操作數的運算,明白這個后,我們實現起來就容易多了。

1、首先我們定義幾個變量來存儲操作數、運算符和結果,firstValue(第一個操作數), secondValue(第二個操作數), result(結果);operation,存儲操作運算符。

//定義操作數和結果string firstValue, secondValue, result;char operation;//存儲上次點擊了什么按鈕,0代表什么都沒點擊,1代表了數字按鈕 private int lastButtonStatus = 0;

2、此處為了方便我們將點擊操作數的事件集中處理代碼如下:

private void btnVaL_Click(object sender, EventArgs e)  {   Button btn = (Button)sender;   if (lastButtonStatus == 0 || textBox_show.Text == "0")   {    textBox_show.Text = btn.Text;   }   else   {    textBox_show.Text += btn.Text;   }   lastButtonStatus = 1;  }  //將數字按鈕的事件集中處理  private void Form1_Load(object sender, EventArgs e)  {   this.textBox_show.Text = "0";   this.textBox_top.Text = "0";   btn_0.Click += new EventHandler(btnVaL_Click);   btn_1.Click += new EventHandler(btnVaL_Click);   btn_2.Click += new EventHandler(btnVaL_Click);   btn_3.Click += new EventHandler(btnVaL_Click);   btn_4.Click += new EventHandler(btnVaL_Click);   btn_5.Click += new EventHandler(btnVaL_Click);   btn_6.Click += new EventHandler(btnVaL_Click);   btn_7.Click += new EventHandler(btnVaL_Click);   btn_8.Click += new EventHandler(btnVaL_Click);   btn_9.Click += new EventHandler(btnVaL_Click);   btn_point.Click += new EventHandler(btnVaL_Click);  }

對于此方法,private void Form1_Load(object sender, EventArgs e)我們在窗體設計界面上雙擊,即可自動生成此方法,我們在里面添加相應代碼即可,注意是窗口而不是具體的控件?!?/p>

3、對于兩個操作數,我們以運算符是否按下后來劃分兩個操作數,當發生點擊運算符(加、減、乘、除、求余)事件時,我們將輸入框(textBox_show)中的數字存儲在firstValue變量中,并將“+”運算符存儲在operation變量中,同時清空textBox_show中的內容,并更新textBox_top中的內容,然后繼續輸入第二個操作數,當按下等號運算符時,將輸入框中的數字存儲在secondValue變量中,并根據operation中的運算符類型來計算。

4、對于一個操作數的運算,在我們點擊運算符(平方、開方)事件時,直接根據運算進行計算,代碼如下:

//加  private void btn_add_Click(object sender, EventArgs e)  {   firstValue = textBox_show.Text;   operation = '+';   textBox_top.Text = firstValue + '+';   textBox_show.Text = string.Empty;  }  //減  private void btn_sub_Click(object sender, EventArgs e)  {   firstValue = textBox_show.Text;   operation = '-';   textBox_top.Text = firstValue + '-';   textBox_show.Text = string.Empty;  }  //乘  private void btn_mult_Click(object sender, EventArgs e)  {   firstValue = textBox_show.Text;   operation = '*';   textBox_top.Text = firstValue + '*';   textBox_show.Text = string.Empty;  }  //除  private void btn_div_Click(object sender, EventArgs e)  {   firstValue = textBox_show.Text;   operation = '/';   textBox_top.Text = firstValue + '/';   textBox_show.Text = string.Empty;  }  //求余  private void btn_remain_Click(object sender, EventArgs e)  {   firstValue = textBox_show.Text;   operation = '%';   textBox_top.Text = firstValue + '%';   textBox_show.Text = string.Empty;  }  //求平方和  private void btn_square_Click(object sender, EventArgs e)  {   firstValue = textBox_show.Text;   textBox_top.Text = firstValue + "的平方是:";   double outFirst;   double.TryParse(firstValue, out outFirst);   textBox_show.Text = (outFirst * outFirst).ToString();  }  //求平方根  private void btn_involution_Click(object sender, EventArgs e)  {   firstValue = textBox_show.Text;   textBox_top.Text = firstValue + "的平方根是:";   double outFirst;   double.TryParse(firstValue, out outFirst);   textBox_show.Text = (Math.Sqrt(outFirst)).ToString();  }   //等號,處理加、減、乘、除、求余、運算  private void btn_equal_Click(object sender, EventArgs e)  {   secondValue = textBox_show.Text;   textBox_top.Text += secondValue + '=';   double outFirst, outSecond;   double.TryParse(firstValue, out outFirst);   double.TryParse(secondValue,out outSecond);   switch (operation)   {    case '+':     result = (outFirst + outSecond).ToString();     break;    case '-':     result = (outFirst - outSecond).ToString();     break;    case '*':     result = (outFirst * outSecond).ToString();     break;    case '/':     if (outSecond != 0)     {      result = (outFirst / outSecond).ToString();     }     else     {      MessageBox.Show("被除數不能為0");     }     break;    case '%':     result = (outFirst % outSecond).ToString();     break;   }   textBox_show.Text = result;  }

5、對于退格功能和清零功能,比較容易實現,這里直接貼上代碼

//退格功能  private void btn_back_Click(object sender, EventArgs e)  {   if (textBox_show.Text.Length > 0)   {    textBox_show.Text = textBox_show.Text.Substring(0, textBox_show.Text.Length - 1);   }  }  //清空  private void btn_clear_Click(object sender, EventArgs e)  {   textBox_top.Text = string.Empty;   textBox_show.Text = string.Empty;   firstValue = string.Empty;   secondValue = string.Empty;  }

四、實現結果   

這樣我們就實現了一個簡易的計算器器程序,趕快來運行以下來看看效果吧:

winform,計算器,C#開發

最后放上全部的實現代碼:CalculatorTest ,同時也感謝各位大神批評指正。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频公开费视频| 国产xxx69麻豆国语对白| 在线亚洲午夜片av大片| 国产精品视频999| 奇门遁甲1982国语版免费观看高清| 国产视频亚洲精品| 欧亚精品在线观看| 成人黄色av网站| 最近2019中文字幕一页二页| 国产性猛交xxxx免费看久久| 日韩av在线一区| 亚洲国产成人精品一区二区| 国产aⅴ夜夜欢一区二区三区| 一道本无吗dⅴd在线播放一区| 国产欧美一区二区三区久久| 久久亚洲精品一区二区| 日韩免费看的电影电视剧大全| 91精品国产乱码久久久久久久久| 韩剧1988在线观看免费完整版| 欧美电影免费观看大全| 成人免费淫片视频软件| 久久久999国产| 久久精品中文字幕电影| 国产福利精品av综合导导航| 亚洲一区二区久久久| 亚洲女人天堂色在线7777| 国模精品视频一区二区| 色琪琪综合男人的天堂aⅴ视频| 欧美二区乱c黑人| 日本欧美在线视频| 亚洲精品99久久久久| www.xxxx欧美| 精品自在线视频| 97成人精品视频在线观看| 亚洲国产97在线精品一区| 久久久精品2019中文字幕神马| 深夜福利国产精品| **欧美日韩vr在线| 欧美另类第一页| 日韩中文娱乐网| 日韩电影中文字幕在线观看| 91人成网站www| 成人亲热视频网站| 国产一区二区三区网站| 欧美有码在线视频| 欧美人在线观看| 91沈先生在线观看| 精品免费在线视频| 亲爱的老师9免费观看全集电视剧| 国产精品自产拍在线观看中文| zzjj国产精品一区二区| 欧美电影免费在线观看| 午夜免费日韩视频| 亚洲视频日韩精品| 美女黄色丝袜一区| 欧美激情18p| 亚洲人成电影网站色| 欧美激情在线有限公司| 日韩精品在线视频美女| 欧美成人中文字幕在线| 国产精品白嫩美女在线观看| 亚洲免费av电影| 亚洲一区999| 精品久久中文字幕久久av| 中文字幕无线精品亚洲乱码一区| 欧美电影免费观看高清| 日本19禁啪啪免费观看www| 成人国内精品久久久久一区| 97**国产露脸精品国产| 亚洲精品电影在线观看| 欧美激情视频网| 中文字幕综合一区| 免费97视频在线精品国自产拍| 福利视频导航一区| 亚洲人成网站免费播放| 久久伊人精品一区二区三区| 中文字幕国产亚洲2019| 亚洲自拍偷拍视频| 亚洲精品美女久久久久| 海角国产乱辈乱精品视频| 国产精品中文字幕在线| 久久久精品影院| 久热爱精品视频线路一| 国内精品久久久久久| 中文国产成人精品| 国产精品十八以下禁看| 色悠悠久久久久| 亚洲全黄一级网站| 亚洲欧美综合精品久久成人| 亚洲精品aⅴ中文字幕乱码| 欧美色另类天堂2015| 日韩小视频网址| 亚洲人成伊人成综合网久久久| 国产97在线观看| 77777少妇光屁股久久一区| 欧美黄色免费网站| 国产一区二区三区丝袜| 欧美日韩亚洲91| 亚洲少妇中文在线| 亚洲精品国产综合区久久久久久久| 久久久97精品| 日韩电影大全免费观看2023年上| 97香蕉久久夜色精品国产| 大荫蒂欧美视频另类xxxx| 日韩亚洲精品视频| 日本精品一区二区三区在线播放视频| 国产国语videosex另类| 亚洲欧美日韩高清| 久久久91精品国产| 日韩av在线影视| 日本欧美一级片| 久久久国产视频| 亚洲人成电影在线| 日韩在线视频线视频免费网站| 2019亚洲男人天堂| 成人情趣片在线观看免费| 国产精品精品一区二区三区午夜版| 亚洲欧美日韩一区二区三区在线| 2025国产精品视频| 日韩电影中文字幕| 国产精品久久一区主播| 亚洲精品福利视频| 91国产高清在线| 亚洲wwwav| 欧美一区二区三区四区在线| 国产精品久久久一区| 亚洲成人黄色在线观看| 精品一区精品二区| 日韩禁在线播放| 国产精品成人免费视频| 日韩精品中文字幕在线播放| 国产精品久久久久久久7电影| 国产精品丝袜白浆摸在线| 久久99久久99精品免观看粉嫩| 91在线色戒在线| 欧美日韩一区二区三区| 亚洲a区在线视频| 97视频免费看| 亚洲a一级视频| 国产精品永久免费观看| 91精品久久久久久| 亚洲最大中文字幕| 91精品在线看| 亚洲欧洲xxxx| 亚洲精品国产电影| 91av中文字幕| 一区二区中文字幕| 97视频在线免费观看| 亚洲男女性事视频| 欧美福利在线观看| 91久久国产精品91久久性色| 亚洲一区美女视频在线观看免费| 欧美成人精品不卡视频在线观看| 亚洲区免费影片| 久久久久www| 国产午夜一区二区| 国产一区二区三区在线| 欧美孕妇与黑人孕交| 欧美一区深夜视频| 九九综合九九综合| 亚洲精品国精品久久99热一| 精品国产鲁一鲁一区二区张丽| 国产精品视频一区二区三区四| 欧美激情精品久久久久久大尺度|