我在c#上使用多个类时遇到问题。我有一个类,它有一个值和这样的方法:
Class class1
{
int curValue = 0;
Public int curValue
{
get {return curValue; } set{curValue = value; }
}
Class1()
{
}
public void Work()
{
while(//condition)
curValue++;
//some other code
}
}
我需要两次从这个类获得两个形式的值: 第一个表单有一个激活class1的变量
的按钮public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
OnButtonBtn_Click(Object sender, EventArgs e)
{
Class1 a = new Class1();
a.Work();
Form2 form2 = new Form2(a);
form2.show()
}
}
当我创建另一个Form2时,会发生问题,其中将class1中的值带到标签:
public partial class Form2 : Form
{
Class1 b;
public Form2(Class1 input)
{
b = input;
InitializeComponent();
}
private void Form2_Load(object sender, System.EventArgs e)
{
lb.Text = b.curValue;
}
}
标签的文字并没有像我想的那样增加。我甚至通过在Form1上创建一个类似的标签进行检查,它运行良好。请帮我在Form2上运行,谢谢!
答案 0 :(得分:1)
在您发布的代码中,您在每次单击按钮时创建 Class1
的新实例,因此计时器设置为 0 ,然后增加到 1 每次。
如果你想在每个按钮上增加相同的计数器,你可以把行 Class1 a = new Class1() ;
在 OnButtonBtn_Click
方法之外。
该代码还存在一些其他问题,但它们不属于这个问题。我想这是一个测试代码,而不是一个真正的程序。