每次单击按钮时添加到int并在文本框中显示c#

时间:2013-02-07 10:22:54

标签: c# textbox int add

我对编程非常陌生,每次点击按钮时我都会尝试这样做,它会在int的值中加一,并在文本框中显示。我的代码是:

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

    txtBox1.Text = a.ToString();
}

所以,当我点击它在文本框101中显示的按钮时,但当我再次点击它时,我希望文本框显示102和103等等。任何想法?我认为它很容易并使用循环的一些变化,但我尝试了一些东西,似乎没有任何工作。任何提示将非常感谢!感谢。

8 个答案:

答案 0 :(得分:4)

您必须将您的值存储在Method Body之外。

private int a = 100;

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

      txtBox1.Text = a.ToString();
}

你在程序中所做的是随时点击按钮,新的整数a被声明为值100,然后你将它增加1,这就是你总是看到'101'的原因。

答案 1 :(得分:0)

在您的代码中,您声明a并在每次单击按钮时反复为其指定值。

您应该在button1_Click方法之外声明变量:

class Window1
{
    int a = 100;
    ....
    private void button1_Click(object sender, EventArgs e)
        {
            a++;
            txtBox1.Text = a.ToString();
        }
}

答案 2 :(得分:0)

您需要将a声明为包含您的方法的类的成员:

private int _a = 100;

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

    txtBox1.Text = _a.ToString();
}

如果您不这样做,每次单击按钮时都会有一个新实例,因此您将始终在文本框中看到101。

答案 3 :(得分:0)

int a = 100;
txtBox1.Text = a.ToString();
  ......

private void button1_Click(object sender,EventArgs e)     {

    a++;

   txtBox1.Text = a.ToString();
}

答案 4 :(得分: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;
        }
}

答案 5 :(得分:0)

每次执行函数时,将int a = 100;放在button1_Click(object sender, EventArgs e)内会将a设置为100。如果你需要一个计数器将它放在函数外部(那么它只会初始化一次。)并在执行函数时递增它。

解决方案

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

    txtBox1.Text = a.ToString();
}

答案 6 :(得分:0)

static int a = 100;

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

      txtBox1.Text = a.ToString();
}

答案 7 :(得分:0)

如果要优化代码,请先设置文本框属性text = 100,并在按钮单击事件中只写一行代码

private void button1_Click(object sender, EventArgs e)
{            
    txtBox1.Text = (Convert.ToInt32(txtBox1.Text) + 1).ToString();
}

如你所知,C#逐行编译代码,你只有一行代码而不是它提供更快的性能。