C#实现计算器功能
有些功能实现不了,还有些问题,怎么实现MC,MR,MS,CE,Backspace的功能啊?
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 计算器
{
public partial class Form1 : Form
{
char fh;
double number, temp;
public Form1()
{
InitializeComponent();
}
#region 输入数字
private void button1_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "1";
}
private void button2_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "2";
}
private void button3_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "3";
}
private void button4_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "4";
}
private void button5_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "5";
}
private void button6_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "6";
}
private void button7_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "7";
}
private void button8_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "8";
}
private void button9_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "9";
}
private void button0_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + "0";
}
#endregion
private void button小数点_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text + ".";
}
private void button正负_Click(object sender, EventArgs e)
{
//richTextBox1.Text = richTextBox1.Text + "-";
number = double.Parse(richTextBox1.Text);
if (number>0)
{
number = - number;
richTextBox1.Text = (number).ToString();
}
else
{
richTextBox1.Text = (number).ToString();
}
}
private void button百分号_Click(object sender, EventArgs e)
{
number = double.Parse(richTextBox1.Text);
//richTextBox1.Text = richTextBox1.Text + "%";
number = number / 100;
richTextBox1.Text = (number).ToString();
}
private void button根号_Click(object sender, EventArgs e)
{
//richTextBox1.Text = richTextBox1.Text+ "√";
number = double.Parse(richTextBox1.Text);
number =Math.Sqrt(number);
richTextBox1.Text = number.ToString ();
}
private void button分数_Click(object sender, EventArgs e)
{
number = double.Parse(richTextBox1.Text);
number = 1 / number;
richTextBox1.Text = number.ToString();
}
#region 加减乘除
private void button加_Click(object sender, EventArgs e)
{
//richTextBox1.Text = richTextBox1.Text + "+";
number = double.Parse(richTextBox1.Text);
fh = '+';
richTextBox1.Text = null;
}
private void button减_Click(object sender, EventArgs e)
{
//richTextBox1.Text = richTextBox1.Text + "-";
number = double.Parse(richTextBox1.Text);
fh = '-';
richTextBox1.Text = null;
}
private void button乘_Click(object sender, EventArgs e)
{
//richTextBox1.Text = richTextBox1.Text+ "×";
number = double.Parse(richTextBox1.Text);
fh = '*';
richTextBox1.Text = null;
}
private void button除_Click(object sender, EventArgs e)
{
//richTextBox1.Text = richTextBox1.Text + "÷";
number = double.Parse(richTextBox1.Text);
fh = '/';
richTextBox1.Text = null;
}
#endregion
private void button等_Click(object sender, EventArgs e)
{
temp = double.Parse(richTextBox1.Text);
switch (fh)
{
case '+':
number += temp;
break;
case '-':
number -= temp;
break;
case '*':
number *= temp;
break;
case '/':
number /= temp;
break;
}
richTextBox1.Text = number.ToString();
}
private void button1C_Click(object sender, EventArgs e)
{
fh = ' ';
number = 0;
temp = 0;
richTextBox1.Text = null;
}
private void buttonCE_Click(object sender, EventArgs e)
{
}
private void button撤销_Click(object sender, EventArgs e)
{
this.richTextBox1.Undo();
}
}
}