在VB6中居中表单

时间:2010-02-16 13:10:37

标签: vb6 mdiparent

我正在编写一个在我们公司内部使用的程序,并且遇到了以下问题:

当使用MDI父级最大化表单作为背景时,如何让Child表单在屏幕上居中

4 个答案:

答案 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]方法

它更快,并且只需一次操作即可完成定位。