Como remover o fundo cinza no formulário pai MDI?
O que estou tentando fazer é desenhar um copo em um formulário marcado como um contêiner mdi. No entanto, assim que o IsMdiContainer é definido, o formulário adiciona um MdiClient à sua lista de controles. Neste ponto, algo acontece com o formulário pai - quase como se um painel cinza escuro estivesse sendo encaixado no formulário inteiro no qual o MdiClient está sendo colocado.
Eu então faço o seguinte para mover o controle MdiClient fora do caminho um pouco:
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;
}
}
Isso torna a área real do MdiClient menor para que possamos ver o que está por trás dela (o bit que hospeda os formulários filhos) e é claramente óbvio que o formulário pai não está pintando ou algo assim.
Como pode ser visto aqui:http://img525.imageshack.us/img525/8605/mdiglassproblem.png
Agora eu preciso de alguma forma obter a área por trás do MdiClient (parte cinza escuro que é processada em branco na seção de vidro) para ir embora.
Alguma ideia?
PS - Glass está sendo renderizado usando o método DwmExtendFrameIntoClientArea no Vista.