public class variables {
public static int edit{ get;set; }
}
还尝试过:
public static int edit = 0;
public static int edit { get; set; }
public static int edits { get { return edit; } }
使用表格
form:form1 {
// Changing the value of variable to 1
private void Form1_Load(object sender, EventArgs e) {
variables.edit=1;
}
// Calling the new form where I'll use its value
private void Button_Click(object sender, EventArgs e){
form2 A=new form2();
A.Show();
}
}
form:form2{
// Showing the value of the variable in a message box
private void Form2_Load(object sender, EventArgs e){
MessageBox.show(variables.edit.ToSting());
}
}
消息在所有情况下都会再次0
返回该呼叫。我需要知道如何将值初始化步骤作为第一步。我必须选项卡使用many变量将数据从一个表单保存到另一个表单并在加载中使用。
答案 0 :(得分:0)
确保您的班级variables
是静态的,而不仅仅是字段/属性:
public static class variables {
public static int edit = 0;
}
静态类的另一个问题来源是在设置另一个时使用一个字段/属性:
public static class variables {
public static int someValue = 2;
public static int other = someValue + 3;
}
AFAIK,您无法确定静态构造函数在运行时首先设置哪个字段/属性,除非您在静态构造函数中设置值,如下所示:
public static class variables {
static variables() {
someValue = 0;
other = someValue + 3;
}
public static int someValue;
public static int other;
}
如果要在非静态类中声明静态字段/属性,请检查上面的问题,如果没有其他任何内容正在改变其他地方的静态字段/属性,即使在非静态类中也是如此。