コントロールのサイズ変更が出来ない(VB 継承フォーム)

環境
OS:Windows7 SP1
開発環境:VisualBasic2010 ExpressEdition SP1

ベースとなるフォームを作成し、そのフォームを継承して別フォームを作成するスタイルはよく行われることだと思います。ところが、このようにフォームを継承した時に継承した先に貼り付けたコントロールのサイズが変更できなくなる、という事があります。

原因:
ベースとなる継承元フォームのWindowStateプロパティを変更したため。

WindowStateプロパティはフォームの最初の表示状態を決めるものです。
ここを「Maximized」や「Minimized」というように初期状態の「Normal」から変更すると、継承先のフォームに貼り付けたコントロールのサイズ変更が何故かできなくなります。

対策:
画面デザインでWindowStateプロパティを変更している場合は「Normal」に戻します。
継承元フォームのLoadイベントやコンストラクタ内でプロパティの変更をコードで記述している場合、まずコメントアウトか削除します。その後リビルドするか一度実行するなりしてください。これで継承先フォームに貼り付けたコントロールのサイズ変更が出来るようになると思います。

WindowStateを変更する場合は、継承先フォームのコンストラクタ内などで実行時に変更するようにしましょう。

MyBase.WindowState = FormWindowState.Maximized
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中