我正在尝试将N个控件停靠在容器中.我希望他们都填满整个宽度,但堆叠.我想要一个特定的控件(当前是最后一个)来填充剩余的空间,而其他所有控件都有固定的大小.
这个:
Button b1 = new Button() { Text = "Button 1", Dock = DockStyle.Top };
Button b2 = new Button() { Text = "Button 2", Dock = DockStyle.Top };
Button b3 = new Button() { Text = "Button 3", Dock = DockStyle.Fill };
Controls.Add(b1);
Controls.Add(b2);
Controls.Add(b3);
Run Code Online (Sandbox Code Playgroud)
产生这个:

正如您所看到的,Button 3正在完成我告诉它的内容:Fill父母.但这不是我想要的.除了手动放置和处理调整大小事件等外,如何让Button 3填充剩余空间?
注意:我没有使用设计师.
Jon*_*art 27
虽然添加b3.BringToFront()(在添加之后Controls)工作,但这里最简单的解决方案是简单地更改按钮添加的顺序Controls.以下代码完美运行:
Button b1 = new Button() { Text = "Button 1", Dock = DockStyle.Top };
Button b2 = new Button() { Text = "Button 2", Dock = DockStyle.Top };
Button b3 = new Button() { Text = "Button 3", Dock = DockStyle.Fill };
Controls.Add(b3); // this guy first!
Controls.Add(b1);
Controls.Add(b2);
Run Code Online (Sandbox Code Playgroud)
结果:

如果你仔细看看这个小例子中的边框,这实际上看起来效果比BringToFront().
使用设计器中Button 3上的Bring to Front,或者调用以下代码:
b3.BringToFront();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16469 次 |
| 最近记录: |