我一直在关注http://www.homeandlearn.co.uk/csharp/csharp_s2p17.html上的 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 Calculator
{
public partial class calc : Form
{
public calc()
{
InitializeComponent();
}
private void btnOne_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnOne.Text;
}
private void btnTwo_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnTwo.Text;
}
private void btnThree_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnThree.Text;
}
private void btnFour_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnFour.Text;
}
private void btnFive_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnFive.Text;
}
private void btnSix_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnSix.Text;
}
private void btnSeven_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnSeven.Text;
}
private void btnEight_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnEight.Text;
}
private void btnNine_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnNine.Text;
}
private void btnZero_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnZero.Text;
}
private void btnClear_Click(object sender, EventArgs e)
{
txtDisplay.Clear();
}
double total1 = 0;
double total2 = 0;
private void btnPlus_Click(object sender, EventArgs e)
{
total1 = total1 + double.Parse(txtDisplay.Text);
txtDisplay.Clear();
}
private void btnEquals_Click(object sender, EventArgs e)
{
total2 = total1 + double.Parse(txtDisplay.Text);
txtDisplay.Text = total2.ToString();
total1 = 0;
}
}
}
现在,在教程的下一页 (http://www.homeandlearn.co.uk/csharp/csharp_s2p18.html),它要求我添加等号按钮的代码。当我运行它时,它没有做任何它应该做的事情。也就是说,当我点击 btnPlus 按钮时,textDisplay 不会清除任何内容。
在发布此之前,我经历了许多其他问题,试图找到答案。不,这不是家庭作业。其实是一种爱好。
我要疯了伙计们。提前感谢您能给我的任何帮助。我敢肯定,当我知道这一点时,我会想扇自己耳光。