在模态和非模态之间切换Windows窗体

时间:2018-10-29 14:29:24

标签: c# winforms dll

是否可以在Windows窗体在“模态”和“非模态”之间或在.Show().ShowDialog()之间切换,同时仍保持相同的窗体处于活动状态。我发现.Modal属性是只读的。

由于快捷方式冲突,我需要临时阻止主应用程序,以便用户可以在不调用快捷方式的情况下将文本输入到表单的文本字段中(请参阅有关此问题的我最初的问题:Suppress main application shortkeys and send keystrokes to form only

有什么想法吗? :)

编辑,即使主应用程序被阻止,快捷键也不会被抑制:

我设法使用BOOL EnableWindow( HWND hWnd, BOOL bEnable );来使表格成为“模态” /阻止主应用程序。

文档引用:

  

启用或禁用对指定窗口或控件的鼠标和键盘输入。

https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-enablewindow

由于鼠标输入被抑制,但不幸的是,尚未将键盘输入到主应用程序,因此它部分起作用。

还有其他线索吗?

0 个答案:

没有答案