WinForms:使一组控件垂直缩放

时间:2010-05-24 19:27:55

标签: winforms layout

我有一个Windows窗体,它在以下布局中显示多个DataGridView:
(无法访问工作中的图像托管,所以请原谅ASCII艺术......)

┌─────────────────────────────────────────┐  
│┌───────────┐┌──────────────────────────┐│  
││           ││                          ││
│└───────────┘│                          ││
|┌───────────┐│                          ││
││           ││                          ││
│└───────────┘│                          ││
|┌───────────┐│                          ││
││           ││                          ││
│└───────────┘└──────────────────────────┘│
└─────────────────────────────────────────┘

不幸的是,当用户将表单调整为更高时,表单最终看起来像这样:

┌─────────────────────────────────────────┐  
│┌───────────┐┌──────────────────────────┐│  
││           ││                          ││
│└───────────┘│                          ││
|             |                          ||
|             |                          ||
|┌───────────┐│                          ││
││           ││                          ││
│└───────────┘│                          ││
|             |                          ||
|             |                          ||
|┌───────────┐│                          ││
││           ││                          ││
│└───────────┘└──────────────────────────┘│
└─────────────────────────────────────────┘

而不是:

┌─────────────────────────────────────────┐  
│┌───────────┐┌──────────────────────────┐│  
││           ││                          ││
││           ││                          ││
│└───────────┘│                          ││
|┌───────────┐│                          ││
││           ││                          ││
││           ││                          ││
│└───────────┘│                          ││
|┌───────────┐│                          ││
││           ││                          ││
││           ││                          ││
│└───────────┘└──────────────────────────┘│
└─────────────────────────────────────────┘

要重现这一点,请将左上角DataGridView锚定到左上角,将左中DataGridView锚定到左边,将左下DataGridView锚定到左下角,将大DataGridView锚定到所有4。

我能做些什么来获得我想要的行为?

2 个答案:

答案 0 :(得分:6)

将一个TableLayoutPanel放在左侧列中,包含3行和1列,将每个较小的控件停靠在一行中,并使用dock stlye“fill”,然后将TableLayoutPanel锚定在左侧,顶部和底部。

答案 1 :(得分:0)

尝试将一些SplitContainer控件与一些Panel或GroupBox容器结合使用。然后,您的用户也可以根据需要调整大小。