POSICIONAMENTO DE FORMULARIO NO MDI

LUIS.HERRERA 20/04/2012 12:12:38
#400330
Boa tarde.

Estou montando um MDI e abaixo do menuStrip, eu criei um Panel com botões personalizados, como uma barra de ferramentas de atalho dos principais recursos.

Bem ao clicar num botão ou menu, abre um form filho e coloquei para abrir centralizado, Até aqui Ok.
frm.StartPosition = FormStartPosition.CenterScreen;


O problema é que se o MDI não estiver maximizado ou a resolução do internauta não for muito grande, o form filho é aberto por trás do controle Panel que fica colado abaixo do menu (parte superior da tela).

Tem como eu obrigar qualquer form a abrir abaixo do Panel?
_______________________________________
| Barra de títulos form
| Menu do aplicativo
| Aqui está o Panel com meus botões
|________________________________________
LUIS.HERRERA 20/04/2012 16:49:30
#400383
Será que não tem como dizer que o form não pode abrir numa posição diferente do (0) padrão? Tipo somar a altura do Panel e ficar abaixo evitando de ficar por trás dele?
KERPLUNK 20/04/2012 17:28:54
#400384
Quem sabe você verifica o estado do form mdi, se não for maximizado, ou dá uma mensagem ou maximiza
LUIS.HERRERA 20/04/2012 17:47:20
#400389
O problema não é apenas o MDI, mas se a resolução do video por exemplo for menor. Hoje estou desenvolvendo os formulários com tamanho de 800 x 600, então se o monitor tiver essa resolução, o MDI irá assumir ela e o form filho ao invés de iniciar abaixo do panel e criar as barras de rolagem, ficarão por baixo do Panel.

Eu já não permito que o MDI seja redimencionado, mas pode ser minimizado e maximizado, mas o problema da resolução de vídeo não adianta. Esquisito isso. No VB6 era simples posicionar o form, tomando um outro objeto como parâmetro, mas no C# não consegui. Tentei mudar algumas propriedades do form antes do Show, tipo location.X = 42 (altura do panel) mas não funcionou.
LUIS.HERRERA 30/04/2012 20:02:33
#401072
Descobri o problema. Para fazer com que o form acate o panel como um objeto tipo menu e limite o início da área útil do MDI, basta usar a propriedade Dock = Top do Panel.

Se alguém tiver o problema já sabe como resolver.
Tópico encerrado , respostas não são mais permitidas