C# 在不同线程中设置MdiParent属性
如何设置在不同C# 在不同线程中设置MdiParent属性,c#,winforms,mdiparent,C#,Winforms,Mdiparent,如何设置在不同线程上运行的窗体的mdipresent Form2 _frmloading; private void thread2() { _frmloading = new Form2(); _frmloading.TopMost = false; _frmloading.ShowInTaskbar = false; //Doesn't Work
线程上运行的窗体的mdipresent
Form2 _frmloading;
private void thread2()
{
_frmloading = new Form2();
_frmloading.TopMost = false;
_frmloading.ShowInTaskbar = false;
//Doesn't Work
//MethodInvoker method = new MethodInvoker(delegate
// {
// _frmloading.MdiParent = this;
// });
// method.Invoke();
//what do i write here?
_frmloading.ShowDialog();
}
private void button1_Click(object sender, EventArgs e)
{
Thread LoadThread = new Thread(new ThreadStart(thread2));
LoadThread.SetApartmentState(ApartmentState.STA);
LoadThread.Start();
}
这是可能的?我不知道你的目标是什么,或者。。。但是将form1(this)作为属性传递给form2,并在form2的Overrided OnLoad方法中使用它,protected override void OnLoad(EventArgs e){MdiParent=parentForm;base.OnLoad(e);}这是不可能的,MDI子线程必须由拥有MdiParent的同一线程拥有。