作成日: 2022/03/14 最終更新日: 2022/03/30
文書種別
使用方法
詳細
親フォームにリサイズコンポーネント(GcResize)を配置して継承して使用する場合、継承先のフォームの初期化処理で、コントロールの追加や配置、サイズ変更など行うと、実行時にリサイズ処理が正しく行われません。
これは、親フォームのGcResizeの初期化処理(サイズやレイアウトなどの初期値の取得)のあとに変更された情報を正しく処理できないために発生します。
本現象を回避するには、継承先の初期化処理の後のタイミングでAllowResizeプロパティをTrueに設定する処理を追加して、GcResize内の管理情報を更新します。
これは、親フォームのGcResizeの初期化処理(サイズやレイアウトなどの初期値の取得)のあとに変更された情報を正しく処理できないために発生します。
本現象を回避するには、継承先の初期化処理の後のタイミングでAllowResizeプロパティをTrueに設定する処理を追加して、GcResize内の管理情報を更新します。
- 親フォームのGcResizeのスコープ(Modifiers)をPrivateからProtectedに変更します。
- 継承先フォームのInitializeComponent()の後で、GcResizeのAllowResizeをTrueに設定します。
[Visual Basic]
Public Sub New()
InitializeComponent()
Me.GcResize.AllowResize = True
End Sub
[C#]
public Form1()
{
InitializeComponent();
this.gcResize.AllowResize = true;
}