MyForm myForm = null;
if (myForm == null)
{
//create form if not exists
myForm = new MyForm(true);
OpenFormInNewThread(cl);
} else
//show previously hidden form
cl.Show();
我要在新线程中打开Windows窗体。关于的代码基本上是有问题的代码。我试图找到一种在第一次打开时初始化表单的方法。但是当关闭窗体时,我只想在FormClosing上隐藏()窗体,在随后打开时,我只想对隐藏的窗体进行Show()。因此,对于单个会话,只应创建一次表单,但随后仅将其隐藏/显示。
问题是我正在从另一个线程打开此表单。因此,对于初始化,我没有任何问题,我的表单仅在新线程中打开。但是,如果已经创建了表单,则无法在另一个线程中创建的表单上调用Show()方法。
有一种简单的方法吗?