Entfernen des grauen Hintergrunds im übergeordneten MDI-Formular

Was ich versuche, ist etwas Glas auf ein Formular zu zeichnen, das als MDI-Container gekennzeichnet ist. Sobald jedoch der IsMdiContainer festgelegt ist, fügt das Formular seiner Liste der Steuerelemente einen MdiClient hinzu. Zu diesem Zeitpunkt passiert etwas mit dem übergeordneten Formular - fast so, als würde ein dunkelgraues Bedienfeld an das gesamte Formular angedockt, auf dem der MdiClient platziert wird.

Ich gehe dann folgendermaßen vor, um das MdiClient-Steuerelement ein wenig aus dem Weg zu räumen:

    foreach(var c in Controls)
    {
        if(c is MdiClient)
        {
            var client = (MdiClient)c;
            client.BackColor = Color.Red;
            client.Dock = DockStyle.None;
            client.Size = new Size(this.Width-100, this.Height);
            break;
        }
    }

Dies verkleinert dann den eigentlichen MdiClient-Bereich, sodass wir sehen können, was dahinter steckt (das Bit, das die untergeordneten Formulare hostet), und es ist offensichtlich, dass das übergeordnete Formular nicht malt oder so.

Wie hier zu sehen ist:http://img525.imageshack.us/img525/8605/mdiglassproblem.png

Ich muss jetzt irgendwie den Bereich hinter dem MdiClient (dunkelgrauer Teil, der auf der Glassektion weiß wird) verschwinden lassen.

Irgendwelche Ideen?

PS - Glass wird mit der DwmExtendFrameIntoClientArea-Methode in Vista gerendert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage