如何正确自动调整splitPanel及其元素

时间:2015-11-10 05:47:52

标签: c# forms winforms

我的表单由一个splitContainer和两个水准面板组成,顶部面板上有几个按钮,底部面板上有图表。

当表单加载时,顶部面板被剪切并且一些元素被隐藏/剪切。此外,如果我调整表单大小,没有任何元素或splitContainer调整大小。

如何正确地做到这一点?

我尝试使用Form_Load()

中的autoresize属性
//this.AutoSize = true;
//this.AutoSizeMode = AutoSizeMode.GrowAndShrink;

这些是splitContainer属性

//
// splitContainer1
// 
this.splitContainer1.BackColor = System.Drawing.SystemColors.ControlDarkDark;
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
// 
// splitContainer1.Panel1
// 
this.splitContainer1.Panel1.Controls.Add(this.btnPlay);
this.splitContainer1.Panel1.Controls.Add(this.grpOptions);
this.splitContainer1.Panel1.Controls.Add(this.grpDisplay);
this.splitContainer1.Panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.splitContainer1_Panel1_Paint);
// 
// splitContainer1.Panel2
// 
this.splitContainer1.Panel2.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.splitContainer1.Size = new System.Drawing.Size(784, 561);
this.splitContainer1.SplitterDistance = 69;
this.splitContainer1.TabIndex = 0;

这是截图:

enter image description here

2 个答案:

答案 0 :(得分:1)

我建议您将控件锚定在splitcontainer上

答案 1 :(得分:0)

我建议在顶部面板上放置一个TableLayoutPanel并在按钮中放置按钮。然后,您可以在TableLayoutPanel中设置行和列的调整大小行为百分比或绝对值。确保按钮的Dock属性设置为Fill。这将确保控件的平滑和适当的大小调整。您也可以采用类似的方法进行底部面板。