我的项目中有两种形式(例如Form1和Form2),并且我只运行一种形式,具体取决于从Program.cs中的.txt文件读取的值。
这两种形式具有相同的控件,我想知道是否可以使用相同 父级定义在workerThread(在Fsm.cs类内部)中调用这些控件两种形式。
例如:控件TextBox1在Form1和Form2中定义,但是我想在workerThread DoWork()中仅调用与正在运行的窗体关联的父控件:
parent.TextBox1.Visible = true;
父级可以是Form1或Form2。
如何在Fsm.cs中相互使用同一父定义? 我不想为两种形式定义两个不同的线程函数。
这里是代码:
public partial class Form1 : Form
{
public Form1()
{
form2 = new Form2();
InitializeComponent();
workerObject = new Fsm(this, form2);
Thread workerThread = new Thread(workerObject.DoWork);
}
}
public partial class Form2 : Form
{
public Form2()
{
form1 = new Form1();
InitializeComponent();
workerObject = new Fsm(form1, this);
Thread workerThread = new Thread(workerObject.DoWork);
}
}
public class Fsm
{
public Form1 parent;
public Form2 parent1;
public Fsm(Form1 p, Form2 p1)
{
parent = p;
parent1 = p1;
}
public void DoWork()
{
parent.TextBox1.Visible = true;
}
}
谢谢。