I have a question that I cannot figure out because I can't figure out how to phrase it in a search engine. Maybe one of my readers has the answer?

Suppose I have an app with 3 forms:

 ---    ------------------
|   |  |                  |
| A |  |                  |
|   |  |                  |
 ---   |                  |
       |        C         |
 ---   |                  |
|   |  |                  |
| B |  |                  |
|   |  |                  |
 ---    ------------------

This is not an MDI app, but just has 3 separate forms. Only form "C" is to be shown in the taskbar. The other forms reflect summary data about what's going on in C but aren't really for user interaction.

My problem is that when the user switches away from form C and then comes back, either by minimizing/maximizing, Alt-Tab or whatever, I need to bring forms A and B to the front again. I tried working with methods like Focus() and BringToFront() as well as the Activate() event, but the problem is that when C is activated, and I bring A or B to front, when I switch back to C then it tries to activate A or B again, so I'm stuck in a loop.

Thanks for any input you might have to this puzzling predicament.