我有两种形式,frmPE和frmCRE。它们是模态的。
frmCRE有一个“编辑PE”按钮,它将打开formPE(frmPE的实例)。 如果我不玩这些头寸,那么formPE会以frmCRE为中心打开。 我想把它们并排放置,这样我就可以同时看到它们。
当我打开frmPE时,我仍然可以看到frmCRE而不是触摸它。没关系。
'此代码位于cmdEditPE
中Set formPE = New frmPE
Load formPE
If Not formPE.bInitialize(vbFalse) Then Err.Raise glHANDLED_ERROR
Me.Left = 100 ' move frmCRE to the left so I can see it
formPE.Left = Me.Left + Me.Width ' move frmPE to move to the right side of frmCRE (bad)
formPE.Show
我认为问题是当formPE打开时,它会使用默认的左设置。从PE内部,我可以看到me.Left = 0,即使它是在节目之前设置的。
有没有办法可以使用formPE.bInitialize例程来查看frmCRE是否打开并找到它的LEFT和WIDTH所以我可以正确设置formPE.Left,或者我可以通过frmCRE设置它的方式在上面做什么?
由于 斜里
答案 0 :(得分:1)
使用Activae
frmPE
事件移动自己,但仅当frmCRE
可见时才会移动。
在frmPE
Private Sub UserForm_Activate()
If frmCRE.Visible Then
Me.Left = frmCRE.Left + frmCRE.Width
End If
End Sub