我一直在关注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不会清除任何内容。
在发布此问题之前,我还尝试了许多其他问题试图找到答案。不,这不是功课。这实际上是一种爱好。
我要疯了。提前感谢您提供给我的任何帮助。我敢肯定,如果弄清楚的话我会想要打自己。
答案 0 :(得分:0)
简而言之:我建议在Visual Studio中查看调试工具。它将帮助您了解单击按钮时发生的情况。
这是一个很好看的简单帖子 - debugging tutorial
答案 1 :(得分:0)
再次重写按钮,然后双击表单中的按钮,之后再次尝试按+并查看,认为会成功,祝你好运
答案 2 :(得分:-2)
private void btnPlus_Click(object sender, EventArgs e)
{
total1 += total1 + double.Parse(txtDisplay.Text);
txtDisplay.Clear();
}
只需在“=”符号前添加“+”,即可使用。