C# - 从另一个班级获取价值

时间:2017-06-13 19:35:02

标签: c# .net forms

我在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上运行,谢谢!

1 个答案:

答案 0 :(得分:1)

在您发布的代码中,您在每次单击按钮时创建 Class1 的新实例,因此计时器设置为 0 ,然后增加到 1 每次。





如果你想在每个按钮上增加相同的计数器,你可以把行 Class1 a = new Class1() ; OnButtonBtn_Click 方法之外。





该代码还存在一些其他问题,但它们不属于这个问题。我想这是一个测试代码,而不是一个真正的程序。