2

SplitContainerControl のスプリッターをコントロール サイズのパーセント位置に配置する方法はありますか? そのコンテナーのサイズが変更されても保持されますか? それとも、パネルのサイズをパーセント値に設定しますか?

4

3 に答える 3

5

SplitContainerControl.FixedPanelプロパティが値に設定されている場合、コンテナSplitFixedPanel.Noneのサイズが変更されると、パネルの幅 (または高さ) が比例して変更されます。したがって、SplitContainerControl 内で固定パネルを使用しないでください。

splitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None;
splitContainerControl1.SplitterPosition = splitContainerControl1.Width / 3;
于 2013-08-14T07:11:38.673 に答える
2

パーセンテージに基づいてオーバーライドControl.OnLayoutして設定します。SplitContainerControl.SplitterPosition

于 2013-08-13T23:32:47.413 に答える
1

解決策 1: 参照: DevExpress : SplitContainerControl - スプリッターの位置を 50% にデフォルト設定する

スプリッターの位置を調整するには、SplitContainerControl.SplitterPositionプロパティをコントロールの半分のサイズに設定するだけです。たとえば、垂直方向の SplitContainerControl のスプリッタ位置を設定する場合は、次のコード スニペットを使用します。

private void Form1_Load(object sender, EventArgs e)
{
    splitContainerControl1.SplitterPosition = splitContainerControl1.Height / 2; 
}

解決策 2:

固定パネルがない場合、SplitterPositionプロパティは、コンテナーの左端または上端 ( Horizo ​​ntalプロパティに従って) からのスプリッターの位置を指定します。

FixedPanel プロパティがSplitFixedPanel.None 値に設定されている場合、コンテナーのサイズが変更されると、パネルの幅 (または高さ) が比例して変更されます。

Form.Shown または Form.SizeChanged イベント ハンドラーでスプリッターの位置を変更します。//最初に FixedPanel プロパティを設定します

splitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None;

次に、Parnet コントロールの Control.ClientSizeChanged イベントを以下のように使用できます。

private void ParentControl_ClientSizeChanged(Object sender, EventArgs e) 
{

   splitContainerControl1.SplitterPosition = splitContainerControl1.Width / 2;
   or
   splitContainerControl1.SplitterPosition = ParentControl.Width / 2;   

}
于 2013-08-14T09:15:57.860 に答える