在 Winform 应用程序中有两个活动窗口

DaB*_*lue 0 c# winforms

抱歉,这很可能在某些时候被问到过,但我什至不确定我应该搜索什么......

我有一个包含多个表单的 winform 应用程序。到目前为止,一次打开一个表单已经很好了。但是现在,我有一个新的表单,我想添加它,但可以在我使用其他表单时保持该表单处于打开状态。我什至不确定这叫什么,但我以前在其他应用程序中见过它。

我确实发现了这个:同时运行两个 winform 窗口

但是这个新窗口是一个运行线程的 winpipe 队列查看器。当我尝试使用

Application.Run(new QueueViewer());
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:在单个线程上启动第二个消息循环不是有效操作。请改用 Form.ShowDialog。

问题在于它会在我关闭该表单之前锁定程序执行任何其他操作。

谢谢你的帮助!

Mik*_*keH 5

向您的项目添加一个表单(我们称之为Form2)。在您的代码中的某处(可能在按钮单击事件中)使用以下代码:

Form2 f = new Form2();
f.Show();  
Run Code Online (Sandbox Code Playgroud)

Show方法允许您与原始表单ShowDialog交互,而阻止与原始表单的交互。

  • 它不应该立即关闭。确保您没有调用“Close”、“Dispose”或使用“using”语句。 (2认同)