メインウィンドウをクリックできるcsharp winformモーダルウィンドウ

StackOverflow https://stackoverflow.com/questions/1643790

  •  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()はできませんがどこでもクリックできます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top