作成日: 2024/01/19 最終更新日: 2024/01/31
文書種別
制限事項
詳細
リサイズコンポーネント(GcResize)とSplitContainerを同じフォームで使用した場合、SplitContainerの開閉処理を行ってからフォームをリサイズすると、SplitContainer上のコントロールのレイアウトが不正になります。
これはSplitContainerの開閉によってレイアウトの変更が発生したことがリサイズコンポーネントに通知されないため、変更されたSplitContainer上のコントロールに関して、リサイズコンポーネントが内部で管理している情報を適切に更新できないために発生します。
これはSplitContainerの開閉によってレイアウトの変更が発生したことがリサイズコンポーネントに通知されないため、変更されたSplitContainer上のコントロールに関して、リサイズコンポーネントが内部で管理している情報を適切に更新できないために発生します。
回避方法
SplitContainerの開閉を行った場合に、レイアウトが変更されたSplitContainerについてフォームのPerformLayoutメソッドを実行し、レイアウトの変更をリサイズコンポーネントに通知することで回避できます。
また、SplitContainerの開閉時にコントロールの位置をコードで変更している場合は、変更されたコントロールに対してもPerformLayoutメソッドを実行します。
◎サンプルコード(C#)
また、SplitContainerの開閉時にコントロールの位置をコードで変更している場合は、変更されたコントロールに対してもPerformLayoutメソッドを実行します。
◎サンプルコード(C#)
this.PerformLayout(this.splitContainer2, "Bounds");
this.PerformLayout(this.label2, "Bounds");
this.PerformLayout(this.label3, "Bounds");
this.PerformLayout(this.label2, "Bounds");
this.PerformLayout(this.label3, "Bounds");