我有以下代码:
namespace WindowsFormsApplication1
{
public static int lb1;
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
int lb1 = 1;
}
}
}
我的问题是,当我点击lb1
时,我想更改button1
变量,但每次运行程序时,它都在运行" 0",而不是" 1& #34;
我在做什么有什么问题?
答案 0 :(得分:2)
此:
@user.functions = [@functions]
@user.save
expect(@user.planned_items.count).to eq(1)
@user.functions = []
@user.save
与此不同的变量:
private void button1_Click(object sender, EventArgs e)
{
int lb1 = 1;
}
在第一种情况下,您实例化一个 NEW 局部变量(尽管它具有相同的名称)并且它仅存在于方法的上下文中!
如果要访问方法中的public static int lb1;
变量,只需使用它的名称:
static
不要在它前面写private void button1_Click(object sender, EventArgs e)
{
lb1 = 1;
}
,因为这样做可以创建一个全新的变量。更改它不会影响int
类变量。
我几乎监督了最大的错误,你必须在类中声明变量:
static
答案 1 :(得分:0)
您在button1_Click方法中声明了一个新的局部变量。
private void button1_Click(object sender, EventArgs e)
{
lb1 = 1;
}
是你所追求的。
答案 2 :(得分:0)
您应该将变量放在班级
中你不能像在c ++中那样创建全局变量
您应该在int
lb1 = 1;
喜欢这个
public partial class Form1 : Form
{
public static int lb1;
private void button1_Click(object sender, EventArgs e)
{
lb1 = 1;
}
}