LoginSignup
2
2

More than 5 years have passed since last update.

【C#】フォームの最前面表示が効かない場合がある?とりあえずの対処法。

Last updated at Posted at 2018-07-06

最前面ウィンドウ大好きでいろんなプログラム言語で書いてみていたんですが、C#のフォームでプロパティにTopMost = true;と指定しただけだと、なぜか時々、最前面表示が効かないことがあるんです。

んで「プロパティにTopMost = true;と指定」ってどういうことか考えてみると、フォームのコンストラクタ実行時にフォーム.Designer.cs の InitializeComponent() を実行してその中で指定してる、ってことなんですよね。

このタイミングでは早すぎてフォームを完全に表示しきる前にプロパティ指定をして結果的に空振りすることがあるのではないか…と妄想してみました。

なのでもう少し遅いタイミングでこの指定を実行してはどうかと。

と思って色々調べてて見つけたページ
Windows フォームのイベントの順序 | Microsoft Docs

これを見て、そうか、Form_Shownというイベントがあるのかー、と思ってイベントハンドラを追加してその中で指定するようにしたら、最前面表示が効かない不具合は、ほぼ起こらなくなりました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2