请不要马上结束这个问题。下面的线程也讨论了几乎类似的问题。
但是,这些并不能解决我的问题。这个问题从来没有发生在我的开发机器上。它发生在用户机器中,但并不总是这样。事实上,它只发生了3或4次。
当发生这种情况时,似乎冻结了应用程序/调用表单。如果我能够猜测(因为我没有在屏幕上看到)关闭按钮在哪里,然后在被调用的表单上单击它,它就会关闭,应用程序会回到可用状态,直到再次发生。
我的视图封装在演示程序中,所以我不是从视图中调用ShowDialog(),而是通过演示程序调用。
MainPresenter
{
MainPresenter(IMainView view)
{
_view = view;
}
…
…
OpenSecondView()
{
var secondPresenter =_presenterFactory.Create<SecondPresenter>();
secondPresenter.Ininialize(_view);
}
}
// Initialize method in the SecondPresenter
Initialize(owner)
{
_secondView.ShowDialog(owner);
}我使用的是观察演示者的MVP风格,在这里解释了http://www.aspiringcraftsman.com/2008/11/23/model-view-presenter-styles/
问题:
如何在我的开发机器中重现问题并进行修复?如果我使用occur?
TopMost = true,那么这个问题是否有可能是我应该考虑的导致problem?的原因?
如果Show()绝对保证问题不会发生,我将使用Show()。在这个问题上,我对ShowDialog()失去了信心。
任何帮助都将不胜感激。
**特定屏幕/视图不会出现此问题。它是随机发生的。
**对于除主窗体之外的所有表单,ShowInTaskBar设置为false。
发布于 2011-09-23 10:10:37
您是否尝试在表单的load事件中添加一个this.Activate(),因为我遇到了类似的问题。
发布于 2011-09-27 13:34:13
您可以尝试对表单使用TopMost = true。
https://stackoverflow.com/questions/7491727
复制相似问题