我是 C# Windows 窗体应用程序开发的新手。
在我的应用程序主表单中,我们在其他线程中创建新表单,如下所示。
Task.Factory.StartNew(
() =>
{
PlotForm plotForm = new PlotForm();
Application.Run(plotForm);
});
我想始终在主表单的顶部显示该表单。Forms 中有一个最顶层的属性。如果我将其设置为 true,它们也会位于其他表单之上。
在互联网上,据说解决方案是设置所有者属性,当我设置此属性时,我得到了跨线程操作,因为表单是创建不同的线程。
Task.Factory.StartNew(
() =>
{
PlotForm plotForm = new PlotForm();
plotForm.Owner = this;
Application.Run(plotForm);
});
跨线程操作无效:控件“Form1”从创建它的线程以外的线程访问。
你知道解决办法吗?
谢谢。