我正在编写一个在我们公司内部使用的程序,并且遇到了以下问题:
当使用MDI父级最大化表单作为背景时,如何让Child表单在屏幕上居中
答案 0 :(得分:3)
在MDI子屏幕中,创建一个Form_Initialize函数,如下所示:
Private Sub Form_Initialize()
Me.Left = (MDIForm1.ScaleWidth - Me.Width) / 2
Me.Top = (MDIForm1.ScaleHeight - Me.Height) / 2
End Sub
当然,您需要在上面的代码中替换您在MDI表单中显示MDIForm1的名称。
答案 1 :(得分:2)
来自微软: “MDI子窗体的初始大小和位置由Microsoft Windows操作环境控制,除非您在Load事件过程中专门设置它们。”
来自父母:
Private Sub MDIForm_Load()
CenterChildForm MDIForm1, Form1
End Sub
Sub CenterChildForm(Parent As Form, Child As Form)
If Parent.WindowState = 1 Then Exit Sub 'The Parent is minimized, centering is invalid.
Child.Top = (Parent.ScaleHeight - Child.Height) / 2
Child.Left = (Parent.ScaleWidth - Child.Width) / 2
End Sub
来自孩子:
Private Sub Form_Load()
Me.Left = (MDIForm1.ScaleWidth - Me.Width) / 2
Me.Top = (MDIForm1.ScaleHeight - Me.Height) / 2
End Sub
答案 2 :(得分:0)
从WINDOWS PROPERTY - CENTER PARENT右下方IDE中的属性中进行选择。它可能会被命名为有点不同但是在中心屏幕下拉
编辑:我认为这是WINDOWS POSITION - CENTER PARENT
答案 3 :(得分:0)
作为上述使用的补充,使用me.Move [left],[top],[width],[height]方法
它更快,并且只需一次操作即可完成定位。