質問

TopMostに設定されている親フォームがあり、ボタンをクリックすると開く別のフォームがあります。この子フォームもTopMostに設定されます。私が抱えていた最初の問題は、子フォームを開いたときに、何にもアクセスできなかったため、アプリケーションが基本的にフリーズすることでした。 ShowDialog()を使用して子フォームを開く代わりに、Show(this)を使用することにしました。これで最初の問題は解決しましたが、新しい問題があります。 childforms開始位置はCenterParentに設定されており、Show(this)を使用すると機能しません。子フォームの開始位置をCenterParentに設定しながら、子フォームと親フォームの両方を最上位に設定して、子フォームを開く方法はありますか?ありがとう。

役に立ちましたか?

解決

子フォームが表示されている間、親フォームのTopMostプロパティをクリアしてみてください。

これにより、フォームが一番上にあるという問題が解決されます。

他のヒント

皆さんと共有するのに役立つものを見つけました。代わりに次のコード

form2.TopMost = true;

メインフォームでこのコードを使用:

form2.Owner = this;

Form.TopMostプロパティを使用すると、フォームは他のすべての最上位以外のフォームだけでなく、他のアプリケーションのフォームとも重なります。これの代わりに、Form.Ownerプロパティを親フォーム–に設定します。フォームの下にある必要があるもの(メインフォームなど)。 G00d運:)

うーん。 Toフォームを作成しました。次に、両方でTopMost = trueを設定します。最初にボタンを追加して書いた 新しいForm2()。ShowDialog();

これで問題ありません。 Form2がアクティブでクリック可能。 Form1はShowDialogが呼び出されてから

2番目のバリアントは正常に動作します。 Form2が画面の中央に開きました。

何かを誤解した可能性がありますか?

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