I have two dialogs: FormA and FormB . I use the following code to show (non-modal) FormB . Code is a click on a button made from FormA .
private void button_Click(object sender, EventArgs e) { FormB fB = new FormB(); fB.Show(this);
The problem is that when FormB above FormA on the screen, if I click FormA , it is activated but not brought to the fore. In fact, FormB is always above FormA

Do you know why and how to change this behavior without removing the owner property?
NOTE. This is a simplification of my problem. In the real issue, FormA is the Windows Explorer window, and FormB is the managed WinForm, but the behavior is the same. If I do not pass IWin32Window to Show() , it works fine, but if I close A, B does not close and does not respond to events (see. The following entry).
source share