用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 Mycalc
{
public partial class Form1 : Form
{
//运算数 运算结果 运算符
private double _num1 = 0, _num2 = 0, _result;
private string _operator = "";
private int _operatorCount = 0;
private bool _firstNumberFlag = false;
private int _operatorplus = 0;
private int _operatorequal = 0;
public Form1()
{
InitializeComponent();
}
private void buttonnum1_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "1";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "1";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "1";
}
private void buttonnum2_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "2";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "2";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "2";
}
private void buttonnum3_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "3";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "3";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "3";
}
private void buttonnum4_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "4";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "4";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "4";
}
private void buttonnum5_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "5";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "5";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "5";
}
private void buttonnum6_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "6";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "6";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "6";
}
private void buttonnum7_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "7";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "7";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "7";
}
private void buttonnum8_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "8";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "8";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "8";
}
private void buttonnum9_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "9";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "9";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "9";
}
private void buttonnum0_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "0";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "0";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "0";
}
private void buttondot_Click(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = ".";
_firstNumberFlag = false;
}
else
{
if(TextBoxResult.Text.IndexOf('.') == -1 )
TextBoxResult.Text = TextBoxResult.Text + ".";
}
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + ".";
}
private void buttonplus_Click(object sender, EventArgs e)
{
_firstNumberFlag = true;
_operatorCount = _operatorCount + 1;
//_operatorplus = _operatorplus + 1;
//if (_operatorCount == 1 && _operatorplus == 1)
if(_operatorCount == 1)
{
_num1 = Convert.ToDouble(TextBoxResult.Text);
_operator = "+";
TextBoxResult.Text = "";
}
else //if(_operatorplus == 1)
{
_num2 = Convert.ToDouble(TextBoxResult.Text);
if (_operator == "+")
_num1 = _num1 + _num2;
else if (_operator == "-")
_num1 = _num1 - _num2;
else if (_operator == "*")
_num1 = _num1 * _num2;
else if (_operator == "/")
_num1 = _num1 / _num2;
_operator = "+";
TextBoxResult.Text = _num1.ToString();
}
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
/*
//保存第一个运算数
_num1 = Convert.ToDouble(TextBoxResult.Text);
//保存运算符
_operator = "+";
//清空编辑框
TextBoxResult.Text = "";
*/
}
private void buttondecrease_Click(object sender, EventArgs e)
{
_firstNumberFlag = true;
_operatorCount = _operatorCount + 1;
if (_operatorCount == 1)
{
_num1 = Convert.ToDouble(TextBoxResult.Text);
_operator = "-";
TextBoxResult.Text = "";
}
else
{
_num2 = Convert.ToDouble(TextBoxResult.Text);
if (_operator == "+")
_num1 = _num1 + _num2;
else if (_operator == "-")
_num1 = _num1 - _num2;
else if (_operator == "*")
_num1 = _num1 * _num2;
else if (_operator == "/")
_num1 = _num1 / _num2;
_operator = "-";
TextBoxResult.Text = _num1.ToString();
}
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
}
private void buttonmultiply_Click(object sender, EventArgs e)
{
_firstNumberFlag = true;
_operatorCount = _operatorCount + 1;
if (_operatorCount == 1)
{
_num1 = Convert.ToDouble(TextBoxResult.Text);
_operator = "*";
TextBoxResult.Text = "";
}
else
{
_num2 = Convert.ToDouble(TextBoxResult.Text);
if (_operator == "+")
_num1 = _num1 + _num2;
else if (_operator == "-")
_num1 = _num1 - _num2;
else if (_operator == "*")
_num1 = _num1 * _num2;
else if (_operator == "/")
_num1 = _num1 / _num2;
_operator = "*";
TextBoxResult.Text = _num1.ToString();
}
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
}
private void buttondivide_Click(object sender, EventArgs e)
{
_firstNumberFlag = true;
_operatorCount = _operatorCount + 1;
if (_operatorCount == 1)
{
_num1 = Convert.ToDouble(TextBoxResult.Text);
_operator = "/";
TextBoxResult.Text = "";
}
else
{
_num2 = Convert.ToDouble(TextBoxResult.Text);
if (_operator == "+")
_num1 = _num1 + _num2;
else if (_operator == "-")
_num1 = _num1 - _num2;
else if (_operator == "*")
_num1 = _num1 * _num2;
else if (_operator == "/")
_num1 = _num1 / _num2;
_operator = "/";
TextBoxResult.Text = _num1.ToString();
}
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
}
private void buttonequal_Click(object sender, EventArgs e)
{
//_operatorplus = 0;
//_operatorequal = _operatorequal + 1;
//保存第二个运算数
//if (_operatorequal == 1 && _operatorCount != 0)
//{
_num2 = Convert.ToDouble(TextBoxResult.Text);
if (_operator == "+")
_result = _num1 + _num2;
else if (_operator == "-")
_result = _num1 - _num2;
else if (_operator == "*")
_result = _num1 * _num2;
else if (_operator == "/")
_result = _num1 / _num2;
// _operatorequal = 0;
//}
TextBoxResult.Text = _result.ToString();
_operatorCount = 0;
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
}
private void buttonback_Click(object sender, EventArgs e)
{
if (TextBoxResult.Text.Length > 0)
TextBoxResult.Text = TextBoxResult.Text.Substring(0, TextBoxResult.Text.Length - 1);
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
}
private void buttonempty_Click(object sender, EventArgs e)
{
_num1 = 0;
_num2 = 0;
_result = 0;
_operator = "";
_operatorCount = 0;
_firstNumberFlag = false;
TextBoxResult.Text = "";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
}
private void buttonsign_Click(object sender, EventArgs e)
{
string _firstchar = TextBoxResult.Text.Substring(0, 1);
if(_firstchar == "-")
TextBoxResult.Text = "+" + TextBoxResult.Text.Substring(1, TextBoxResult.Text.Length - 1);
else if(_firstchar == "+")
TextBoxResult.Text = "-" + TextBoxResult.Text.Substring(1, TextBoxResult.Text.Length - 1);
else
TextBoxResult.Text = "-" + TextBoxResult.Text;
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
}
private void TextBoxResult_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '0')
buttonnum0_Click(sender, e);
else if (e.KeyChar == '1')
buttonnum1_Click(sender, e);
else if (e.KeyChar == '2')
buttonnum2_Click(sender, e);
else if (e.KeyChar == '3')
buttonnum3_Click(sender, e);
else if (e.KeyChar == '4')
buttonnum4_Click(sender, e);
else if (e.KeyChar == '5')
buttonnum5_Click(sender, e);
else if (e.KeyChar == '6')
buttonnum6_Click(sender, e);
else if (e.KeyChar == '7')
buttonnum7_Click(sender, e);
else if (e.KeyChar == '8')
buttonnum8_Click(sender, e);
else if (e.KeyChar == '9')
buttonnum9_Click(sender, e);
else if (e.KeyChar == '.')
buttondot_Click(sender, e);
else if (e.KeyChar == '+')
buttonplus_Click(sender, e);
else if (e.KeyChar == '-')
buttondecrease_Click(sender, e);
else if (e.KeyChar == '*')
buttonmultiply_Click(sender, e);
else if (e.KeyChar == '/')
buttondivide_Click(sender, e);
else if (e.KeyChar == 'c')
buttonempty_Click(sender, e);
else if (e.KeyChar == '=')
buttonequal_Click(sender, e);
else if (e.KeyChar == 8)
buttonback_Click(sender, e);
TextBoxResult.Select(TextBoxResult.Text.Length, 0);
}
private void buttonnum1_Click_1(object sender, EventArgs e)
{
if (_firstNumberFlag == true)
{
TextBoxResult.Text = "1";
_firstNumberFlag = false;
}
else
TextBoxResult.Text = TextBoxResult.Text + "1";
TextBoxResult.Focus();
TextBoxResult.SelectionStart = TextBoxResult.Text.Length;
TextBoxResult.ScrollToCaret();
//TextBoxResult.Text = TextBoxResult.Text + "1";
}
private void radioButtonTen_Click(object sender, EventArgs e)
{
}
private void radioButtonEight_CheckedChanged(object sender, EventArgs e)
{
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
}
}
}
仅供参考
希望大家可以喜欢!