C#容器 - 在调整大小时垂直填充空格

时间:2009-05-27 21:20:37

标签: c# user-interface resize containers fill

我是C#的新手,我一直致力于开发一个小项目来感受Visual Studio 2008.我正在用C#设计GUI,我有一个带有三个GroupBox的TabControl。这三个GroupBox锚定在屏幕的左侧和右侧,在水平调整大小时可以正常工作。

我希望这三个盒子占据屏幕高度的33%,然后优雅地调整大小。我已经尝试过锚定,但我似乎无法找到答案。我也一直在寻找类似的东西,但不幸的是,搜索定位容器会产生所有CSS和HTML的东西。

这似乎是一件很常见的事情,但我似乎找不到一个容易实现的方法。如果有人能指出我正确的方向,我会非常感激。

谢谢!

3 个答案:

答案 0 :(得分:1)

这真的是在黑暗中拍摄,但也许你可以尝试使用分屏?

编辑:我刚刚检查了Visual Studio,我认为TableLayoutPanel可能会做你想要的。

Edit2:dang,打败了拳头:)

答案 1 :(得分:1)

试用TableLayoutPanel。我相信它完全符合你的要求。它允许您在其区域内定义列和行,以百分比或像素为单位指定宽度(对于列)和高度(对于行)。然后,您可以将一个组框放入每个单元格并将其Dock属性设置为Fill,当TableLayoutPanel调整大小时,它将与单元格一起很好地调整大小(可以通过使用对接或锚定来轻松实现)。

答案 2 :(得分:0)

处理表单的Resize事件:添加代码以计算其中控件的新大小/位置。注意干扰控件的Anchor属性。您可能需要将Anchor设置为None并自行计算左右位置。

既然你正在学习,我想你不希望得到一个完整的解决方案,而是一个方向。我没有代码; - )