0

Hi,

I am working on a project in VB.net 2008. I have a problem arising while opening a form as modal from a modeless form. I have attached a project to demonstrate the problem. This demonstration contains three forms with following characteristics.

- “Form1” is main form of the demo application and
- “Form2” is opened as modeless form through “Form1”. It is hidden (using me.hide() method) instead of closing and Cancel the closing in closing event of “Form2”.
- “Form3” is opened as modal form through “Form2”.

Now problem is when I hide “Form2” after closing “Form3”, “Form1” also hides in the background (when some other windows are also open i.e. Windows explorer). I am unable to find a reason for this behavior. This should looks like a common problem and must be encountered by someone else but I am unable to find it on internet. So please help as I need reason and solution for this problem.

Regards,

Hassan

4
Contributors
6
Replies
7
Views
6 Years
Discussion Span
Last Post by Luc001
0

In Form1, when calling Form2, remove "Me" from this line:
Form2.Show(Me)

Final result:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form2.Show()
  End Sub
0

It works but the problem is when after showing form2 if we selects form1 (without closing form2) it gets behind form1.

0

Setting TopMost property of the form to true will make form1 always on top of not only other forms of applications but all other applications on the screen

0

Hi,

Yes your right.

In stead of BringToFront(), try calling:

SetForegroundWindow(Me.Handle)

Add this declaration:

Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.