当我在Winforms应用程序中打开任何对话框时,Windows 10在这些方面表现得很奇怪:
我用
打开对话框dialogFormName.ShowDialog(this);
TopMost在所有表单上都设置为false,并且未在代码中设置。
我已经阅读了大约50篇相关文章,唯一的问题似乎是设置了TopMost或者没有使用父窗体调用ShowDialog。我不是一个常规的Winforms开发者,所以我可能做了一些愚蠢的事情。这让我发疯,所以我真的很感激任何帮助!
编辑:MessageBox.Show也出现了同样的问题(这个"测试")。使用单个按钮调用MessageBox.Show(这个" test")时,新创建的应用程序不会出现此问题。问题应用程序使用EntityFramework,但在添加EF之前没有其他软件包存在问题。
答案 0 :(得分:0)
Form.ShowDialog()
会阻止父表单,直到它关闭为止。
使用Show()
单独显示表单而不阻止其父表单。
答案 1 :(得分:0)
在尝试不同的场景后,我终于找到了问题。在我的情况下,我在用户单击ContextMenu上的项目后调用ShowDialog()。 ALT-TAB的阻塞是由以下代码引起的:将ContextMenu附加到ListView,该菜单是上下文的:
lstList.ContextMenu = myContextMenu;
一旦我删除了该关联,ShowDialog就不再阻止ALT-TAB。