表格放置 - 根据父表格中心子表格

时间:2010-01-27 01:22:15

标签: vb.net winforms

我在vb.net(visual basic)中制作了一个有两种形式的程序。我有一个作为一种“主要”基础,将落后于一切。然后我有另一个额外的形式,假设在“主”形式之上。当我显示两个表单时,我得到这个工作,但我希望较小(附加)表单居中到主表单上。如果你想要一个更简单的感觉,它是一个大盒子里的小盒子(全部居中和对齐)。有谁知道怎么做?

由于

3 个答案:

答案 0 :(得分:1)

FormStartPosition.CenterParent - 此处描述的.NET枚举:http://msdn.microsoft.com/en-us/library/system.windows.forms.formstartposition.aspx

答案 1 :(得分:0)

听起来您正在为表单演示寻找MDI界面。 如果是这样,那么你可以尝试使用:

childForm.StartPosition = FormStartPosition.CenterParent;

这将把它放在屏幕上。如果没有,您可能希望尝试明确居中,如here

所示

答案 2 :(得分:0)

我假设主窗体创建了子窗体。

当主表单(A)创建小表单(B)时,它应该为B提供对自身的引用(也就是说B应该接受类型Form的构造函数参数,称为backgroundForm,并传递A)。

现在B可以在OnLoad事件中设置其位置,如下所示:
x-coord:A的x位置加上A的宽度的1/2减去B的宽度的1/2 y-coord:A的y位置加上A的高度的1/2减去B

的高度的1/2

此外,B可以订阅A中的事件,例如移动或调整窗口大小时。