好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#实现简单的计算器功能

本文实例为大家分享了C#实现简单的计算器功能的具体代码,供大家参考,具体内容如下

环境: VS2010及以上版本

1、建立个Window窗体应用

2、在工具箱里拖出两个TextBox,第一个放上面,第二个放下面 。主要这里的Name,上面是textBox1,下面是textBox2。这涉及到后面代码的书写

3、在工具栏里拖动Button,摆放好。可利用上面的对齐工具辅助设计。

4、在属性里改变各Button的Text,如下

注意这里的1~9,小数点,±*/ 的Text应只有一个字符,不要多输。←

5、选中任意一个Button,右键,选择查看代码,转到Form1.cs

6、开始写代码

AddNum 修改TextBox的Text,应用于1~9与小数点的Click事件 Reset 重置temp、myoperator,以及两个TextBox的Text Delete 删除textBox2的Text最后一个字符 Calculate 把textBox2的Text转为double给temp,修改myoperator Equal 具体的计算

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 WindowsFormsApp1 { ? ? public partial class Form1 : Form ? ? { ? ? ? ? public Form1() ? ? ? ? { ? ? ? ? ? ? InitializeComponent(); ? ? ? ? } //----上面是自动生成的代码,下面得我们手写---- ? ? ? ? private double temp = 0; ?//存储临时数据 ? ? ? ? private char myoperator = ' '; ?//判断之前按的是+-*/中的哪个 ? ? ? ? private void AddNum(object sender, EventArgs e) ? ? ? ? { ? // 1~9与小数点的Click事件 ? ? ? ? ? ? //sender是引发该事件的控件,这里我们拆箱为Button ? ? ? ? ? ? Button button = (Button)sender; ? ? ? ? ? ? textBox2.Text += button.Text; ? ? ? ? } ? ? ? ? private void Reset(object sender, EventArgs e) ? ? ? ? { ? // CE的Click事件 ? ? ? ? ? ? temp = 0; ? ? ? ? ? ? myoperator = ' '; ? ? ? ? ? ? textBox1.Text = textBox2.Text = ""; ? ? ? ? } ? ? ? ? private void Delete(object sender, EventArgs e) ? ? ? ? { ? // ←的Click事件 ? ? ? ? ? ? //移除最后一个字符 ? ? ? ? ? ? if (textBox2.TextLength > 0) ? ? ? ? ? ? ? ? textBox2.Text = textBox2.Text.Remove(textBox2.TextLength - 1); ? ? ? ? } ? ? ? ? private void Calculate(object sender, EventArgs e) ? ? ? ? { ? // +-*/的Click事件 ? ? ? ? ? ? Button button = (Button)sender; ? ? ? ? ? ? if (double.TryParse(textBox2.Text, out temp)) ?//尝试把textBox2的Text转为double并赋值给temp ? ? ? ? ? ? { ? ? ? ? ? ? ? ? myoperator = button.Text[0]; //Text是string,取第一个字符 ? ? ? ? ? ? ? ? textBox1.Text = temp.ToString() + ' ' + myoperator; ? ? ? ? ? ? ? ? textBox2.Text = ""; ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? //转换失败,重置所有 ? ? ? ? ? ? ? ? Reset(sender, e); ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? private void Equal(object sender, EventArgs e) ? ? ? ? { ? // = 的Click事件,计算并显示 ? ? ? ? ? ? double temp2; ? ? ? ? ? ? //尝试转换,失败则重置并返回 ? ? ? ? ? ? if (!double.TryParse(textBox2.Text, out temp2)) { Reset(sender, e); return; } ? ? ? ? ? ? switch (myoperator) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? case '+': ? ? ? ? ? ? ? ? ? ? temp += temp2; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case '-': ? ? ? ? ? ? ? ? ? ? temp -= temp2; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case '*': ? ? ? ? ? ? ? ? ? ? temp *= temp2; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case '/': ? ? ? ? ? ? ? ? ? ? temp /= temp2; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? default: ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? textBox1.Text = ""; ? ? ? ? ? ? textBox2.Text = temp.ToString(); ? ? ? ? } ? ? } }

7、设置各Button的Click事件

AddNum: 1~9与小数点的Click事件 Reset:CE的Click事件 Delete:←的Click事件 Calculate :±*/的Click事件 Equal:= 的Click事件

8、启动(F5)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

查看更多关于C#实现简单的计算器功能的详细内容...

  阅读:47次