![](/img/trans.png)
[英]Difference between .Owner property and ShowDialog(IWin32Window owner)?
[英]ShowDialog(owner) is hiding behind/not showing even though I am supplying owner IWin32Window
請不要馬上關閉這個問題。 在以下線程中也討論了幾乎相似的問題。
但是,這些並不能解決我的問題。 我的開發機器中從未發生過這個問題。 它發生在用戶機器上,但並非總是如此。 實際上它只發生了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/
問題:
Show()
並設置TopMost = true
,是否可能出現此問題? 如果Show()
絕對保證不會出現問題,我將使用Show()
。 我對ShowDialog()
對此失去了信心。
任何幫助將不勝感激。
**特定屏幕/視圖不會出現此問題。 它隨機發生。
**對於除主窗體之外的所有窗體,ShowInTaskBar設置為false。
您是否嘗試在表單的load事件中添加this.Activate()
,因為我遇到了類似的問題。
您可以嘗試使用TopMost = true
作為表單
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.