メインウィンドウをクリックできるcsharp winformモーダルウィンドウ
-
10-07-2019 - |
質問
言語c#、winform
どのようにモーダルウィンドウを作成するのですか? メインウィンドウをクリックまたは操作できます。
ありがとう。
コードまたはリンクを入力してください。
解決
次のように、フォームとしてパラメーターとして受け取るForm.Show()のオーバーロードを使用します。
Form f = new Form();
f.Show(this);
これにより、フォームを常に呼び出し元のフォームの上に保持しますが、呼び出し元のフォームをクリックしてアクセスできます。
他のヒント
ダイアログを非モーダルにし( ShowDialog
の代わりに Show
を使用)、最上位にします( TopMost = true
)
ここにいくつかの混乱があると思う;
モーダルとは、ウィンドウが基礎となるウィンドウをブロックするときであり、基礎となるウィンドウが制御を取り戻すことができるように閉じる必要があります。 Form.ShowDialog(owner)を使用してこれを実現します。
Non-Modalは、「in parallell」で開かれるウィンドウです。基になるウィンドウに。両方のウィンドウにアクセスし、マウスおよびキーイベントに応答できます。これを行うためのForm.Show(owner)。
定義によるモダリティとは、他の場所をクリックできないことを意味します。別のフォームを作成して、Show()メソッドで表示できます。
Show()メソッドを使用すると、ShowDialog()はできませんがどこでもクリックできます
所属していません StackOverflow