У меня есть две формы (например, Form1 и Form2) в моем проекте, и я запускаю только одну форму в зависимости от значения, которое читается из файла .txt в Program.cs.
Две формы имеют одинаковые элементы управления, и мне интересно, могу ли я вызвать элементы управления в workerThread (внутри класса Fsm.cs), используя тот же parent определение для обеих форм.
Например: элемент управления TextBox1 определен в Form1 и Form2, но я хочу вызывать в workerThread DoWork () только родительский элемент управления, связанный с запущенной формой:
parent.TextBox1.Visible = true;
Где parent может быть 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;
}
}
Спасибо.