FORMULARIOS MDI
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.
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.
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.
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.
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á
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á
eu coloco assim tenta ai
nomedoFormulario.MdiParent = nomedoMDI
nomedoFormulario.Show()
ou Showdialog()
nomedoFormulario.MdiParent = nomedoMDI
nomedoFormulario.Show()
ou Showdialog()
Nome_do_form.ShowDialog()
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.
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