ZOrder of two forms

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Here's the scenario:
I have two forms to display on the screen: Form1 and Form2. The Form2 is
displayed after the user clicks a button on Form1 (which is already
displayed). Form2 is automatically displayed in front of Form1. Both forms
are loaded modeless (you can't load a second form if the first is modal).

Here's the problem:
I need the capacity to change the ZOrder of the two forms without unloading
either of them. That is I need to programmatically force Form1 to be in front
of Form2, or alternatively Form2 in front of Form1.

I have not been able to find a way to do this. The forms themselves to not
have a ZOrder property. The only other way I can think of is via an API
though I'm not sure which API function would solve this.

Any ideas?
 
OfficeHacker,
Have you looked into using .Move so they are both visible, or .Hide ?

NickHK
 
for form1 it's very important that you distinguish
between the form' initialize event and the activate event.

unless you're activate event clears or sets controls
hiding the form does not affect control's values.
and any data entered by the user should be preserved.

hiding and showing form1 when form2 closes is needed
to give it focus.


in form1...
Private Sub CommandButton1_Click()
Me.Enabled=False
UserForm2.Show vbModeless
End Sub

in form2...
Private Sub UserForm_Terminate()
With UserForm1
.Enabled = True
.StartUpPosition = 0
.Hide
.Show vbModeless
End With
End Sub




--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


OfficeHacker wrote :
 
Back
Top