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的同一线程拥有。