C# Win 计算器 麻烦看看问题出在哪里?
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 WindowsFormsApplication5
{
public partial class Form1 : Form
{
double num1, num2, result;
bool decimalFlag=false;
string myOperator;
public Form1()
{
InitializeComponent();
}
private void textReadout_TextChanged(object sender, EventArgs e)
{
textReadout.Text = "0.";
textReadout.TextAlign = HorizontalAlignment.Right;
}
public void NumClick(int myNumber)
{
if (decimalFlag)
{
textReadout.Text = textReadout.Text + myNumber;
}
else
{
if (textReadout.Text == "0.")
{
textReadout.Text = myNumber + ".";
}
else
{
textReadout.Text = textReadout.Text.Substring
(0, textReadout.Text.Length + 1) + myNumber + ".";
}
}
}
private void button10_Click(object sender, EventArgs e)
{
NumClick(0);
}
private void button3_Click(object sender, EventArgs e)
{
NumClick(1);
}
private void button8_Click(object sender, EventArgs e)
{
NumClick(2);
}
private void button9_Click(object sender, EventArgs e)
{
NumClick(3);
}
private void button2_Click(object sender, EventArgs e)
{
NumClick(4);
}
private void button6_Click(object sender, EventArgs e)
{
NumClick(5);
}
private void button7_Click(object sender, EventArgs e)
{
NumClick(6);
}
private void button1_Click(object sender, EventArgs e)
{
NumClick(7);
}
private void button4_Click(object sender, EventArgs e)
{
NumClick(8);
}
private void button5_Click(object sender, EventArgs e)
{
NumClick(9);
}
private void button11_Click(object sender, EventArgs e)
{
decimalFlag = true;
}
private void but_C_Click(object sender, EventArgs e)
{
num1 = 0;
num2 = 0;
textReadout.Text="0.";
decimalFlag=false;
}
private void buttonAdd_Click(object sender, EventArgs e)
{
myOperator = "add";
num1 = double.Parse(textReadout.Text);
textReadout.Text = "0.";
decimalFlag = false;
}
private void buttonSub_Click(object sender, EventArgs e)
{
myOperator = "Sub";
num1 = double.Parse(textReadout.Text);
textReadout.Text = "0.";
decimalFlag = false;
}
private void buttonMul_Click(object sender, EventArgs e)
{
myOperator = "Mul";
num1 = double.Parse(textReadout.Text);
textReadout.Text = "0.";
decimalFlag = false;
}
private void buttonDiv_Click(object sender, EventArgs e)
{
myOperator = "Div";
num1 = double.Parse(textReadout.Text);
textReadout.Text = "0.";
decimalFlag = false;
}
private void button12_Click(object sender, EventArgs e)
{
num2 = double.Parse(textReadout.Text);
switch (myOperator)
{
case"add":
result = num1 + num2;
textReadout.Text = result.ToString();
break;
case "Sub":
result = num1 - num2;
textReadout.Text = result.ToString();
break;
case "Mul":
result = num1 * num2;
textReadout.Text = result.ToString();
break;
case "Div":
if (num2 == 0)
{
textReadout.Text = "除数不能为“0”!";
}
else
{
result = num1 / num2;
textReadout.Text = result.ToString();
}
break;
}
}
}
}