FormA
とFormB
という2つのダイアログがあります。私はFormB
を表示するために次のコードを使用します。コードはFormA
から実行されるボタンクリックです。起動時にWinFormを完全に前面に出す方法
private void button_Click(object sender, EventArgs e)
{
FormB fB = new FormB();
fB.Show(this); // FormA is the owner of FormB
}
問題はFormB
が画面上にFormA
の上にあるときに、私はFormA
をクリックした場合、それが起動しますが、前面に移動されていないということです。実際FormBあなたはなぜ知っていますか、そしてどのように所有者プロパティを削除せずに、この動作を変更するには?フォームA
の上に常にありますか
注:これは私の問題を単純化したものです。実際の問題では、FormAはWindowsのエクスプローラウィンドウであり、FormBは管理されたWinFormですが、動作は同じです。 IWin32WindowをShow()
に渡さないと正常に動作しますが、Aを閉じるとBは閉じず、イベントに応答しません(entry参照)。
あなたの本当の*問題は、あなたのダイアログがモーダルではないということです。まずそれを修正し、残りは後に続く。 –
@ハンス:私はダイアログがモードレスであることを望んでいます。 –