1

私はプログラミングに非常に慣れていないので、ボタンをクリックするたびに、 an の値に 1 を追加intしてtextboxに表示しようとしています。私のコードは次のとおりです。

private void button1_Click(object sender, EventArgs e)
{
    int a = 100;
    a++;

    txtBox1.Text = a.ToString();
}

したがって、ボタンをクリックするとテキストボックス101に表示されますが、もう一度クリックすると、テキストボックスに102と103などを表示したいのですが、何かアイデアはありますか? 非常に簡単で、ループのいくつかのバリエーションを使用すると思いますが、いくつか試してみましたが、何も機能しないようです。どんなヒントでも大歓迎です!ありがとう。

4

8 に答える 8

4

メソッド本体の外に値を保存する必要があります。

private int a = 100;

private void button1_Click(object sender, EventArgs e)
{        
     a++;

      txtBox1.Text = a.ToString();
}

プログラムで行ったことは、ボタンをクリックするたびに、新しい整数aが値 100 で宣言され、それを 1 増やしているため、常に「101」が表示されます。

于 2013-02-07T10:25:33.273 に答える
0

グローバル フィールドを作成せず、テキスト ボックス内にクリック数を格納することもできます。これは、複数のボタンがある場合に特に便利です。

private void button1_Click(object sender, EventArgs e)
    {     
        if (txtBox1.Tag is int)
        {
            int a = (int)txtBox1.Tag;
            a++;

            txtBox1.Tag = a;

            txtBox1.Text = a.ToString();
        }
        else
        {
            txtBox1.Tag = 100;
            txtBox1.Text = 100;
        }
}
于 2013-02-07T10:33:49.650 に答える
0
int a = 100;
txtBox1.Text = a.ToString();
  ......

private void button1_Click(オブジェクト送信者, EventArgs e) {

    a++;

   txtBox1.Text = a.ToString();
}
于 2013-02-07T10:26:43.613 に答える
0

あなたのコードaでは、ボタンをクリックするたびに値を何度も繰り返して割り当てます。

button1_Clickメソッドの外で変数を宣言する必要があります。

class Window1
{
    int a = 100;
    ....
    private void button1_Click(object sender, EventArgs e)
        {
            a++;
            txtBox1.Text = a.ToString();
        }
}
于 2013-02-07T10:25:18.857 に答える
0

aメソッドを含むクラスのメンバーとして宣言する必要があります。

private int _a = 100;

private void button1_Click(object sender, EventArgs e)
{
    _a++;

    txtBox1.Text = _a.ToString();
}

そうしないと、ボタンがクリックされるたびに新しいインスタンスが作成されるため、テキスト ボックスには常に 101 が表示されます。

于 2013-02-07T10:25:37.170 に答える
0

int a = 100;の中に配置すると、関数が実行されるたびに 100 にbutton1_Click(object sender, EventArgs e)設定されます。aカウンターを関数の外側に配置する必要がある場合は(その後、一度だけ初期化されます)、関数の実行時にインクリメントします。

解決

int a = 100;
private void button1_Click(object sender, EventArgs e)
{        
    a++;

    txtBox1.Text = a.ToString();
}
于 2013-02-07T10:51:43.137 に答える