VB.NETのデスクトップアプリで最小化→通常サイズに戻すと画面サイズが小さくなる

.NET Framework
スポンサーリンク

環境

  • IDE・・・Visual Studio 2022

事象

VB.NETで作成したWindowsフォームのデスクトップアプリで、

  1. exeファイルを起動
  2. アプリケーションのウインドウを最小化(右上の最小化ボタンを押下)
  3. 最小化されたアプリケーションを通常サイズに戻す(最小化から復帰させる)

すると、

↑の図のように、画面が最小状態になって、
タイトルバーのみ表示されたような状態になる。

(真っ黒の部分はデスクトップの壁紙です)

原因

調べてみると、

こちらの通りに、画面サイズを記憶する設定を行っていたせいで、

最小化したときにも画面が最小状態になってるっぽい。

これはバグと言っても良いのでは。。

対処

こちらにドンピシャな解決方法を載せてくださっていました。助かりましたー。

自分のソースコードには以下の2点を追記しました。

1点目:Formロード(アプリケーションが立ち上がったときに動くプログラム)の部分に追加

2点目:Window StateがNormalだったらウインドウ位置の書き込みをキャンセルするメソッド追加

僕の場合は、「MySize」というプロパティにウインドウサイズを設定するようにしてるので上記の通りにしました。

(参考までに、MySizeを設定しているというのは以下部分です)

今回は採用しなかったやり方

いつもお世話になりまくっているDobon.netさんでご紹介されているやり方

コメント