0

私は電卓を作るためにhttp://www.homeandlearn.co.uk/csharp/csharp_s2p17.htmlの C# チュートリアルに従っています。逐語的に指示に従って、私はうまくやっていました。+記号がクリックされたときに電卓がテキストをクリアしない理由を理解しようとして、頭がおかしくなったので、チュートリアルか何かにエラーがあるに違いないと思います(これは、彼のチュートリアルによると、することになっている - そうですか?)

これが私のコードです(これは私が「迷子になった」場所であるため、double変数を呼び出し始めたときの一番下に注意してください):

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 はまったくクリアされません。

そして、これを投稿する前に、答えを見つけようとして他の多くの質問をしました. いいえ、これは宿題ではありません。実は趣味です。

私はクレイジーな人になります。あなたが私に与えることができるかもしれない助けを前もって感謝します. これが明らかになったとき、私は自分自身を平手打ちしたいと思うでしょう。

4

3 に答える 3

0

ボタンをもう一度書き直してから、フォームからボタンをダブルクリックしてから、もう一度 + を押してみてください。うまくいくと思います。幸運を祈ります

于 2014-12-29T13:33:49.410 に答える
0

要するに、Visual Studio のデバッグ ツールを調べることをお勧めします。ボタンをクリックしたときに何が起こっているのかを理解するのに役立ちます。

これは、見栄えの良い簡単な投稿です-デバッグチュートリアル

于 2012-12-17T21:18:57.837 に答える
-2
private void btnPlus_Click(object sender, EventArgs e)
    {
        total1 += total1 + double.Parse(txtDisplay.Text);
        txtDisplay.Clear();
    }

「=」記号の前に「+」を追加するだけで機能します。

于 2015-03-25T22:11:48.347 に答える