在我的应用程序中,在完成一些工作后调用自定义表单的ShowDialog()
方法。问题是,如果用户在我的应用程序正在执行其工作时切换到另一个应用程序,则该对话框会将焦点转移到该应用程序,这可能会导致不可预测的行为。预期的行为是在我的应用程序前台显示的对话框,但不在另一个应用程序的顶部,并让我的应用程序的任务栏项目闪烁。
有没有办法阻止ShowDialog()
方法窃取焦点?或者我应该使用其他方法吗?
答案 0 :(得分:1)
在C#中,您可以使用ShowDialog()来显示表单stealing focus
。并Show()显示没有窃取焦点。我不确定它在VB.NET中是否相同。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果你真的想要这个,你可能不得不使用Show。将您自己的财产保留在表格
上DialogResult结果;
可能默认取消,所以如果表格关闭,将被视为取消。然后,您只需在用户单击“确定”时进行设置。
答案 3 :(得分:0)
使用Form.ShowWithoutActivation属性(在类中重写它以返回true)。这样你仍然可以使用ShowDialog()。