TopMost に設定された親フォームがあり、ボタンをクリックすると開く別のフォームがあります。この子フォームも TopMost に設定されています。私が抱えていた最初の問題は、子フォームを開いたときに、何もアクセスできなかったため、アプリケーションが基本的にフリーズすることでした。ShowDialog() を使用して子フォームを開く代わりに、Show(this) を使用することにしました。これで最初の問題は解決しましたが、今は新しい問題があります。childforms の開始位置は CenterParent に設定されており、Show(this) を使用すると機能しません。子フォームの開始位置を CenterParent に設定しながら、子フォームと親フォームの両方を最上位に設定しながら子フォームを開く方法はありますか? ありがとうございました。
5462 次
3 に答える
5
皆さんと共有するのに役立つものを見つけました。代わりに次のコード
form2.TopMost = true;
次のコードをメイン フォームで使用します。
form2.Owner = this;
Form.TopMost プロパティを使用すると、フォームは他のすべての非最上位フォームだけでなく、他のアプリケーションのフォームとも重なります。この代わりに、Form.Owner プロパティを親フォーム (フォームの下にある必要があるフォーム (メイン フォームなど)) に設定します。G00d運:)
于 2013-04-28T15:10:54.240 に答える
3
子フォームが表示されている間、親フォームの TopMost プロパティをクリアしてみてください。
これにより、フォームが 1 つしかないため、どのフォームを一番上に置くべきかという問題が解決されます。
于 2009-10-26T21:18:43.873 に答える
0
うーん。Toフォームを作成しました。次に、両方で TopMost = true を設定します。最初にボタンを追加して書いた
new Form2().ShowDialog();
そして、すべてうまくいきます。Form2 アクティブでクリック可能。Form1 は ShowDialog が呼び出されてからではありません
2番目のバリアントは正常に動作します。画面中央に Form2 が開きました。
私は何かを誤解している可能性がありますか?
于 2009-10-26T21:25:04.767 に答える