2017-04-20 4 views
-4

私は新しい子フォームがアクティブになったとき、バックグラウンド親フォームが無効になります。ここ親フォームを無効にしないで新しいフォームを表示するにはどうすればいいですか?

enter image description here

、以下のような親フォーム上のボタンのクリックで新しいフォームを示しています。

親フォームを無効にしないで子フォームを表示するオプションはありますか?

よろしく、

+1

新しいフォームをどのように開いていますか? –

+3

'Form.ShowDialog()'の代わりに 'Form.Show()'を使用しますか? –

+0

childForm.VisibleまたはChildForm.ShowまたはchildForm.ShowDialog – Amal

答えて

-1

新しいフォームを開き、this.Activate();を呼び出した後、それは親ウィンドウの上に再び集中しますが、これは、それは完全に無効になっている場合、それは第二

+0

あなたのソリューションに感謝します。親のフォーカスを失うのを防ぐことができれば、それは良いでしょう。 – Amal

2

の画分について焦点を失うことになります(対話なし)、.Show()ではなく、子フォームで.ShowDialog()を使用しています。あなたが.Show()を使用している場合は、両方の形式を使用することができるようになります

例:

ChildForm childForm = new ChildForm(); 
childForm.Show(); 
+0

私は親フォームと対話することができますが、子がアクティブになったときに親の外観が無効になっているようにはしません。 – Amal

+1

@Amal Microsoftに手紙を書いてください。あなたの尋ねることをする1つのアプリケーションに名前をつけます。 – john

4

Show機能は非モーダル形式でフォームを示しています。つまり、親フォームをクリックすることができます。

ShowDialog

は、あなたが親フォーム

Application.Run()に行くことができないという意味、形モーダル示しメイン親フォームを実行し、メインフォームを形成することができます。 Application.Run()は通常mainにあります。

関連する問題