将两个用户表单放置在它们之间没有空格

如何调整用户表单的位置,以便在Intialized时将它们并排放置,即移除它们之间的空间。

在这里输入图像说明

从答案我试过,但它不起作用

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 

这是否工作?

 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 

在这里输入图像说明

更新
为了避免重叠
似乎closuresbutton和用户窗体的边框中有一个常量值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 

在这里输入图像说明

将第二个窗体的Left选项设置为第一个窗体的Left +第一个窗体的Width

 UserForm2.Left = UserForm1.Left + UserForm1.Width 

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

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

您可能需要根据操作系统进行修改

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