【发布时间】:2011-10-13 15:24:30
【问题描述】:
我在面板 1 上有一个拆分容器我添加了一个组框,在该组框中是一个具有动态数量的文本框的流控件,我已将组框和流控件都设置为 dockstyle 来填充。 在代码中,我还将文本框设置为要填充的停靠样式,但当我移动拆分器时它们不会调整大小,而父流控制会调整大小。
Label labelInput = new Label();
TextBox listBoxNewInput = new TextBox();
listBoxNewInput.Name = ce.ToString();
labelInput.AutoSize = true;
labelInput.Font = new Font(labelInput.Font, FontStyle.Bold);
listBoxNewInput.Multiline = true;
// Add vertical scroll bars to the TextBox control.
listBoxNewInput.ScrollBars = ScrollBars.Vertical;
// Allow the RETURN key in the TextBox control.
listBoxNewInput.AcceptsReturn = true;
// Allow the TAB key to be entered in the TextBox control.
listBoxNewInput.AcceptsTab = true;
// Set WordWrap to true to allow text to wrap to the next line.
listBoxNewInput.WordWrap = true;
listBoxNewInput.Text = ts.ToString();
//listBoxNewInput.Width = 150;
listBoxNewInput.MinimumSize = new Size(200,150);
listBoxNewInput.MaximumSize = new Size(1000, 150);
listBoxNewInput.Dock = DockStyle.Fill;
listBoxNewInput.TextChanged += new EventHandler(listBoxNewInput_TextChanged);
//Add the newly created text box to the list of input text boxes
inputTextBoxesList.Add(listBoxNewInput);
//Add the labels and text box to the form
flowLayoutPanel1.Controls.Add(labelInput);
flowLayoutPanel1.Controls.Add(listBoxNewInput);
如果我尝试将控件直接放入拆分器面板 1,则只会出现前两个控件,当我移动拆分器时它们会调整大小
splitContainer1.Panel1.Controls.Add(labelInput); splitContainer1.Panel1.Controls.Add(listBoxNewInput);
->如果当我将控件放入流控制时调整大小,当我移动拆分器时会很好 或 ->当我将它们直接放入拆分器面板1时,所有控件都会出现
【问题讨论】:
-
如果 FlowLayoutPanel 里面的控件是 DockFilled,那它的意义何在?如果要 DockFill,MaximumSize 有什么意义?
-
我不确定,但我认为 flowlayoutpanel 在 Dock.Fill 方面的表现与其他人不同。看看msdn.microsoft.com/en-us/library/ms171633.aspx ...你也可以考虑一次tablelayoutpanel。它也可以解决您的问题,但实际上保证仍然满足您的要求。
-
如果我尝试将控件直接放入拆分器面板 1 中,只会出现两个控件:
-
splitContainer1.Panel1.Controls.Add(labelInput); splitContainer1.Panel1.Controls.Add(listBoxNewInput);
-
@LarsTech 码头填充时的最大尺寸点是仅在高度保持不变的情况下增加宽度。
标签: c# .net winforms dock dynamic-controls