为什么 winforms 模态表单在重新连接到远程会话后失去焦点并取消阻止 UI

Why winforms modal form losing focus and unblock UI after reconnecting to remote session

提问人:geraltdwf 提问时间:11/15/2023 最后编辑:geraltdwf 更新时间:11/15/2023 访问量:27

问:

我有一个WinForms应用程序,我在其中使用模态对话框表单(使用ShowDialog()打开)。该应用程序通常通过远程桌面访问。但是,我注意到,当远程桌面会话断开连接然后重新连接时,打开的模式对话框会失去其焦点和模式。具体而言,虽然对话框在视觉上仍处于打开状态,但它不再阻止与主窗体的交互

我尝试在模式对话框中处理 Deactivate 事件来调用它。Activate() 或类似的方法重新获得焦点。

C# Windows WinForms 模态对话框

评论

1赞 JonasH 11/15/2023
确保 1) 对话框从 UI 线程显示。2) 对话框的所有者设置正确。此外,请考虑创建一个最小的可重现示例。如果问题出在您的代码中,您可能需要展示您正在执行的操作才能获得任何帮助。如果 Windows 或 .net 中出现问题,这听起来像是一个相当严重的错误。
0赞 geraltdwf 11/16/2023
因此,我已经检查了对话框是否从UI线程中显示,我没有正确设置所有者,但是我也测试了这种情况,但仍然出现问题。我注意到一半的 UI 仍然被阻止,但作为 Infragistics Winforms 一部分的应用程序中的功能区正在失去他的模式并且它被解锁了。此外,我还使用简单的对话形式创建了最小的可重现示例,并且在重新连接到远程形式后不会失去他的模式和焦点
0赞 JonasH 11/16/2023
那么很可能是第三方控制的问题,它做了一些奇怪的事情,寻求他们的支持。

答:

0赞 geraltdwf 11/20/2023 #1

对于任何在 Infragistics 中遇到类似问题的人来说,将属性设置为 in 可能会解决您的问题。IsGlassSupportedfalseUltraToolbarsManager

这是来自 Infra 论坛的链接: https://www.infragistics.com/community/forums/f/ultimate-ui-for-windows-forms/119592/remote-desktop-disconnect-reconnect-tx-textcontrol-losing-all-but-plain-text/530646#530646