我对编程非常陌生,每次点击按钮时我都会尝试这样做,它会在int
的值中加一,并在文本框中显示。我的代码是:
private void button1_Click(object sender, EventArgs e)
{
int a = 100;
a++;
txtBox1.Text = a.ToString();
}
所以,当我点击它在文本框101中显示的按钮时,但当我再次点击它时,我希望文本框显示102和103等等。任何想法?我认为它很容易并使用循环的一些变化,但我尝试了一些东西,似乎没有任何工作。任何提示将非常感谢!感谢。
答案 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#逐行编译代码,你只有一行代码而不是它提供更快的性能。