FORMULARIOS MDI

PITERGALDIANO 26/04/2013 23:10:31
#422592
Pessoal, boa noite!

Tenho um formulário MDI chamado frm_Principal. Nele tenho os menus que chamam os formulários filhos, e como esse é um MDI eu posso abrir vários filhos dentro do mesmo.

A minha dúvida é a seguinte, quando eu abro um formulário frm_Financeiro (Controle financeiro), no mesmo tenho um textbox (txtCodigoCliente) que se for necessário abre um tela de consulta (frm_ConsultaCliente) para pesquisar o código do cliente.
Acontece que quando esse formulário de consulta estiver aberto, eu não quero que o usuário selecione o frm_Financeiro sem antes escolher um código do cliente ou clicar no botão retornar.
Pode abrir outros formulários filhos no menu, porém não deixar selecionar o formulário que chamou a consulta.

Tem como fazer isso?

Grato.
RHADYE 26/04/2013 23:35:15
#422593
Resposta escolhida
Criando o parentesco entre frm_Financeiro com frm_ConsultaCliente você força o usuário a fechar a consulta para retornar ao financeiro, então se o usuario for mudar de tela ele teria que fechar a consulta antes.

Por exemplo, chamando a consulta pelo financeiro

frm_ConsultaCliente.show vbModal, frm_Financeiro

se usar vbModeless no lugar do vbModal o form de consulta podera novamente ser alternado com outros forms.
Só não me recordo do comportamento disso com forms dentro de um MDI, da uma conferida ai. qualquer coisa é só posta.

Edit: Desculpa, não tinha visto que era .net, mas a ideia é a mesma.
OCELOT 27/04/2013 13:37:53
#422603
O que o RHADYE falou está correto porém é para o VB6

No .Net você vai ter que usar o seuForm.ShowDialog( me ) para ter o efeito de form modal, porém ele não pode ficar dentro do MDI mas geralmente isso não é problema já que ele vai ficar sempre por cima do form que você passar como parâmetro para ele, usando o [Ô]me[Ô] seria o form onde o código está
FELLIPEASSIS 27/04/2013 20:10:46
#422620
eu coloco assim tenta ai

nomedoFormulario.MdiParent = nomedoMDI
nomedoFormulario.Show()

ou Showdialog()
PEGUDO 28/04/2013 11:07:46
#422629
Nome_do_form.ShowDialog()
PITERGALDIANO 28/04/2013 21:24:29
#422643
Resolvi da seguindo forma

Tenho o MDI, e chamo os filhos da seguinte forma

frmFilho.MdiParent = frmPai
frmFilho.Show ---> Aqui não dá para usar Show(me) e nem Showdialog()

dessa forma quando eu preciso chamar alguma consulta no frmFilho eu primeiro dou um me.enabled=false e depois
frmConsulta.MdiParent = frmPai
frmConsulta.Show()

Dessa forma consigo acessar o frmPai para acessar outros formulários filhos e não tem como trazer para frente o formulário que chamou a consulta por ele estar enabled=false.

Quando saio do frmConsulta, ativo o frmFilho novamente.

Dá um certo trabalho, mas não consegui fazer de outra forma.

Obrigados pelas respostas, seria bom apontar para todas, mas infelizmente não é possível.

Grato.
Tópico encerrado , respostas não são mais permitidas