すぐに質問を閉じないでください。以下のスレッドでもほぼ同様の問題が議論されています。
しかし、これらは私の問題を解決しません。私の開発マシンでは問題は発生しませんでした。ユーザーマシンで発生しましたが、常にではありませんでした。実際、それは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 に設定されます。