放置两个用户窗体,它们之间没有 space

Position two userform with no space between them

如何调整用户表单的位置以便在初始化时将它们并排放置,即删除它们之间的 space。

根据答案,我尝试了这个,但它不起作用

CIF.Show
With CIF
    .Top = Application.Top + 5
    .Left = Application.Left + 10
End With

Instructions.Show
With Instructions
    .Top = Application.Top + 5
    .Left = CIF.Left + CIF.Width
End With

将第二种形式的Left选项设置为第一种形式的Left+第一种形式的Width

UserForm2.Left = UserForm1.Left + UserForm1.Width

在 Windows 7 上我不得不再添加 7 个像素,所以像这样:

UserForm2.Left = UserForm1.Left + UserForm1.Width + 7

您可能需要根据 OS

进行修改

您需要将 StartUpPosition 属性 更改为手动(我相信值 = 0)。然后,您可以调整顶部和左侧的位置以消除间隙

这个有用吗?

Sub test()
With CIF
.Show vbModeless
.Left = .Left - .Width / 2
End With
With Instructions
.Show vbModeless
.Left = .Left - .Width / 2
End With
Unload CIF
Unload Instructions
End sub

已更新
避免重叠
似乎在关闭按钮和用户窗体的边框之间有一个常量值 7。以下应该解决它(与用户窗体大小无关)。

Sub test()
With CIF
.Show vbModeless
.Left = .Left - .Width / 2
End With
With Instructions
.Show vbModeless
.Left = CIF.Left + CIF.Width + 7
End With
Unload CIF
Unload Instructions