DOBON.NET DOBON.NETプログラミング掲示板過去ログ

SettingChangingイベントでフォームの状態を取得できなくなった

環境/言語:[Win7、vb2010]
分類:[.NET]

ずっちといいます、よろしくお願いいたします。
さっそくなのですが、題名の現象が起きた経緯を書かせていただきます。

こちらのサイトの「Visual Studioでアプリケーションの設定を保存する」を参考にし、
ApplicationSettingsにフォームを大きさを保存しておりました。
しかし最大化・最小化した際に思うような動作をしませんでした。
そこで色々調べ [Settings.vb] の [SettingChanging] イベントで対処する方法を見つけました。
当初はこれで思い通りの動作をしておりました。
具体的には以下のようにしております。
If frmMain.WindowState <> FormWindowState.Normal Then
e.Cancel = True
End If

あるサイトで「なぜForm_Loadで初期設定をするの?」的な記事を見て、
スタートアップオブジェクトを [Sub Main] に変更し、初期設定を移植しました。
するとさきほど記述したIF文が思い通りの動作をしなくなりました。
デバッグ実行した所、frmMain.WindowStateが思った値を取得できていないように見受けられました。

原因や対処法、または回避策をお教えいただけませんでしょうか。
よろしくお願いいたします。
Visual Studio 2010 Expressで作成しております。
■No28713に返信(ずっちさんの記事)

> するとさきほど記述したIF文が思い通りの動作をしなくなりました。
> デバッグ実行した所、frmMain.WindowStateが思った値を取得できていないように見受けられました。

ここでいう"frmMain"はクラス名ですか?実際に開いているFormのインスタンス(変数)ですか?
"frmMain"というクラスに対してWindowStateを調べても意味がないのでは?
No28714 の投稿内容が No28713 とほぼ同じでしたので、 No28714 の投稿を削除させていただきました。

DOBON.NET | プログラミング道 | プログラミング掲示板