我正在用vb.net (visual basic)编写一个程序,它有两种形式。我有一个作为“主”的基础,它将成为一切的幕后推手。然后我有另一个额外的表单,它应该放在"main“表单的顶部。当我显示这两个窗体时,我会让它工作,但我希望较小的(附加)窗体居中显示在主窗体上。如果你想要更简单的感觉,它是一个大盒子里的一个小盒子(全部居中对齐)。有人知道怎么做吗?
谢谢
发布于 2010-01-27 09:26:07
FormStartPosition.CenterParent --此处描述的.NET枚举:http://msdn.microsoft.com/en-us/library/system.windows.forms.formstartposition.aspx
发布于 2010-01-27 09:31:44
听起来您正在寻找一个用于表单表示的MDI界面。如果是这样,那么您是否可以尝试使用:
childForm.StartPosition = FormStartPosition.CenterParent;
这将使其在屏幕上居中。如果不是,您可能希望尝试将其显式居中,如here所示
发布于 2010-01-27 14:52:15
我假设主窗体创建子窗体。
当main form (A)创建小form (B)时,它应该为B提供对自身的引用(也就是说,B应该接受Form类型的构造函数参数,称为backgroundForm,并传递A)。
现在,B可以按如下方式设置其在OnLoad事件中的位置:
X坐标:A的x位置加上A宽度的1/2减去B宽度的1/2
Y坐标:A的y位置加上A高度的1/2减去B高度的1/2
此外,B可以订阅A中的事件,例如当窗口移动或调整大小时。
https://stackoverflow.com/questions/2143949
复制相似问题