This is not so easy and probably requires P/Invoke, like finding MDI client window handle via raw Windows API handling
WM_ERASEBKGND
message. For some background: the real parent (from the stand point of Windows API parent-child relationship at the level of Windows handles), the MDI children are hosted not by the window representing MDI parent, but by its child window called "MDI client". I know it because I was careless enough to get into all this mess years ago, well before .NET. I don't think this detail is directly exposed to .NET FCL. This is just one of many reasons why MDI is
never used in more or less professional development.
Here is the idea: who needs MDI, ever? Why torturing yourself and scaring off your users?
Do yourself a great favor: do not use MDI at all. You can do much easier to implement design without it, with much better quality. MDI is highly discouraged even by Microsoft, in fact, Microsoft dropped it out of WPF and will hardly support it. More importantly, you will scare off all your users if you use MDI. Just don't. Please see:
http://en.wikipedia.org/wiki/Multiple_document_interface#Disadvantages[
^],
How to Create MDI Parent Window in WPF?[
^].
I can explain what to do instead. Please see my past answers:
How to Create MDI Parent Window in WPF? [
Solution 2],
Question on using MDI windows in WPF[
^],
MDIContainer giving error[
^],
How to set child forms maximized, last childform minimized[
^].
—SA