SHOWDIALOG EM PANEL

ALTAIR148 29/07/2013 15:14:26
#426650
Boa tarde,

Pessoal é o seguinte, tenho um [Ô]PANEL[Ô] e eu abro alguns formulários dentro dele, o que eu queria era o seguinte.

Para adicionar um form ao panel eu faço assim:

Dim F2 As New Form2
F2.TopLevel = False
F2.Parent = Panel1
F2.Show()


Agora eu esse [Ô]Form2[Ô] vai chamar o Form3, eu gostaria de fazer tipo um showdialog para que o Form3 ficasse por cima do Form2, o detalhe é que não é para ficar por cima do Form principal, apenas dos forms que estão dentro do panel.
PROFESSOR 09/08/2013 19:17:37
#427363
Resposta escolhida
O problema é que um formulário de diálogo não é nunca um formulário [Ô]filhote[Ô], pois é exibido sempre em modal. Assim, o único [Ô]parâmetro aceitável[Ô] para o método ShowDialog é um formulário.

Se bem me lembro, incorporando a função CreateCompatibleDC da API Gdi32, é possível gerar um ponteiro compatível para exibir um modal. é trabalhoso, é preciso ainda definir os bounds e ainda pode não funcionar como esperado, já que nem todas as máquinas estão com a mesma versão do Windows (hoje está bem [Ô]dividida[Ô] a coisa), portanto não sei se ajudaria no seu caso.

Mas, por curiosidade, não seria mais adequado usar um formulário MDI ao invés de um Panel para exibir os [Ô]filhotes[Ô] ? é possível que você utilize um Panel apenas para manter um [Ô]papel de parede[Ô] no formulário principal de seu aplicativo, e, se é este o caso, há boas formas de manter um [Ô]papel de parede[Ô] em um formulário MDI.
Tópico encerrado , respostas não são mais permitidas