调整表单问题的大小

时间:2013-07-02 12:39:16

标签: .net vb.net winforms resize

尝试设置几个分组框的位置时遇到问题......

这是默认大小的应用程序图片,

组框位于表单的中间,这就是我想要的。 enter image description here

这是另一张图片,当应用程序调整大小时,

组框被移到左侧,它们还不在中间

组合框的锚属性是“正确”(我已尝试过所有组合) enter image description here

这是完全最大化时应用程序的图片,

组框是左侧的推动者。 enter image description here

我希望在调整大小时保留标签页中间的组框。

以下是视频:http://www.youtube.com/watch?v=itZ85hRh9dQ&feature=youtu.be

1 个答案:

答案 0 :(得分:2)

也许如果您没有找到任何其他解决方案,您可以在form_resize事件中替换它们。 我认为你使用了Groupboxes ......这有很大帮助! 对于单个GroupBoxes(在您的示例中为Program),您应该执行类似的操作:

groupBox1.Location.X = Me.Width / 2 - groupBox1.Width / 2

对于更多GroupBoxes水平(如文件和自定义)

这样的东西
Dim dist As Int32 = groupBoxCustomization.Location.X - groupBoxFiles.Width + groupBoxFiles.Location.X
'Get the distance between groupBoxCustomization and groupBoxFiles
Dim groupWidth As Int32 = groupBoxCustomization.Width + groupBoxCustomization.Location.X - groupBoxFiles.Location.X
'Get the total width of the GroupBoxes including the distance between them
'Now you use the same system than before, just imagine to have only one large GroupBox
groupBoxFiles.Location.X = Me.Width / 2 - groupWidth / 2
'Now you have fixed the first GroupBox, you know the distance between the GroupBoxes, and the widths are constant, so it's easy!
groupBoxCustomization.Location.X = groupBoxFiles.Location.X + groupBoxFiles.Width + dist

您可能需要将计算转换为Integer,如果是,请使用此代码

intValue = CInt(double)

希望这会有所帮助(并且有效......我还没试过):)