Usuário com melhor resposta
abrindo um mdi filho através de outro mdi filho e trocando informações entre os mesmos

Pergunta
-
ola galera olha eu ai de novo pedindo a ajuda de vcs.
seguinte to com um problema aki, to criando um sistema
no stilo mdiparent e qro q os forms filhos troquem informações
entre si e com o mdi pai.
tipo tenho um form filho para cadastro e nele há um item com nível de
acesso onde se colocar adm ele vai ter acesso a tudo e se ele for limitado
ele libera um botão chamado permissões e quero q qndo este botão for
habilitado ao clicar nele eu possa abrir outro form filho a dentro do form
pai original e não to consiguindo isto gostaria de saber como fazer isso e
tbm ao abrir o novo filho ou no caso irmão rs ele possui um txtbox onde qro
q ele pegue o valor do txtNome do mdi de cadastro digitado pelo usuário e
aparece neste txt como se estivesse fazendo uma referencia ao nome do novo
cadastro q está sendo efetuado
fico grato se alguem puder me ajudar
abrass a todos a este forum é de mais
Respostas
-
Dai galerinha venho com novas =D consegui solucionar esta minha duvida e posto aqui para todos que quiserem tirar suas duvidas e proveitos do código lá vai;
Para poder abrir um forms neto dentro do forms filho digita-se o seguinte códigoprivate void btnPermicao_Click(object sender, EventArgs e)
{
FormPermissão objpermitir = new FormPermissão();
objpermitir.MdiParent = this.MdiParent;
objpermitir.Show();
}
Isto fara com q um form filho abra outro form filho através dele
e para utilizar um comando do forms pai através do forms filho faz-se o seguinte. No meu caso usei um ToolStreepMenuItem
primeiro passo consiste em modificar a propriedade Modifiers de private para public e isto dara acesso publico ao item. Em seguida basta instancialo no form q vai executar seu comando e utiliza-lo no exemplo criei um ToolStreepMenuItem chamado AbrirMenu e em seu evento click ao o seguinte
public void AbrirMenu_Click(object sender, EventArgs e){
MessageBox.Show("Esse é um Comando do FormsPai");
}
isto dentro do form pai
para usa-lo dentro do forms filho faz-se o procedimento acima deixando sua propriedade de acesso como public e dentro do forms filho dentro do botão q desejar chamar o comando faça o seguinte
private void btnExecutarComandoDoFormPai_Click(object sender, EventArgs e){
FormPai objPai = new FormPai();
objPai.AbrirMenu.PerformClick();
}
e isto fara com q o comando do forms pai seja executado automaticamenti através do forms filho =D.
A todos q acharem util votem por favor não sou um expert em C# e só to começando mas todo conhecimento q puder compartilhar com os outros estarei dsposto pois como dizia um velho sabio "O CONHECIMENTO NÃO TEM PREÇO NEM DONO";
ASS: EDNEY BATISTA DA SILVA ou simplesmente DYN o piah q aprendeu amar programar =D- Marcado como Resposta Edney Batista Silva domingo, 24 de janeiro de 2010 22:18
-
Olá!
Links relacionados:.NET Framework Class Library
Form Class
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.aspx
Biblioteca de classes do .NET Framework
Propriedade Form..::.MdiParent
http://msdn.microsoft.com/pt-br/library/system.windows.forms.form.mdiparent.aspx
MDI Applications
http://www.startvbdotnet.com/forms/mdi.aspx
Windows Forms FAQ Windows Forms MDI Syncfusion
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c4c.aspx
Criando um Form MDI ou MDI Form e um Menu no Visual Basic.NET
http://www.htmlstaff.org/ver.php?id=24287
Criando Tela de Atalho no Windows Form
http://imasters.uol.com.br/artigo/12459/dotnet/criando_tela_de_atalho_no_windows_form/
Multiple Forms in VB.NET. Part 1
http://devcity.net/Articles/94/1/.aspx
Introduction to MDI Forms with C#
http://www.codeproject.com/KB/cs/mdiformstutorial.aspx
Formulários : Conceitos Básicos
http://www.macoratti.net/vbn_frm1.htm
C# - Usando Formulários MDI
http://www.macoratti.net/09/08/c_mdi1.htm
VB.NET - Programas com Interface MDI
http://www.macoratti.net/vbn_mdi1.htm
[]´s
Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.- Marcado como Resposta Edney Batista Silva domingo, 24 de janeiro de 2010 22:18
-
Veja se ajuda:
Verificar form aberto no mdi
http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/be751efc-e610-4457-a54c-a324215557ed
[]´s
Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.- Marcado como Resposta Edney Batista Silva domingo, 24 de janeiro de 2010 22:18
Todas as Respostas
-
Olá!
Links relacionados:.NET Framework Class Library
Form Class
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.aspx
Biblioteca de classes do .NET Framework
Propriedade Form..::.MdiParent
http://msdn.microsoft.com/pt-br/library/system.windows.forms.form.mdiparent.aspx
MDI Applications
http://www.startvbdotnet.com/forms/mdi.aspx
Windows Forms FAQ Windows Forms MDI Syncfusion
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c4c.aspx
Criando um Form MDI ou MDI Form e um Menu no Visual Basic.NET
http://www.htmlstaff.org/ver.php?id=24287
Criando Tela de Atalho no Windows Form
http://imasters.uol.com.br/artigo/12459/dotnet/criando_tela_de_atalho_no_windows_form/
Multiple Forms in VB.NET. Part 1
http://devcity.net/Articles/94/1/.aspx
Introduction to MDI Forms with C#
http://www.codeproject.com/KB/cs/mdiformstutorial.aspx
Formulários : Conceitos Básicos
http://www.macoratti.net/vbn_frm1.htm
C# - Usando Formulários MDI
http://www.macoratti.net/09/08/c_mdi1.htm
VB.NET - Programas com Interface MDI
http://www.macoratti.net/vbn_mdi1.htm
[]´s
Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.- Marcado como Resposta Edney Batista Silva domingo, 24 de janeiro de 2010 22:18
-
Veja se ajuda:
Verificar form aberto no mdi
http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/be751efc-e610-4457-a54c-a324215557ed
[]´s
Magno Machado Borba |- Se o post foi util ou resposta nao esqueca de marcar.- Marcado como Resposta Edney Batista Silva domingo, 24 de janeiro de 2010 22:18
-
ola magno fico grato por suas respostas todas mto ótimas mas eu não consegui entender mto bem a lógica de como fazer a verificação se um mdi filho está aberto ou não pois maioria deles estão todos em ingles e não domino este idioma tipo não to conseguindo por em prática essis métodos q vc me apresentou.
sou iniciante de curso técnico em programação e ainda to no primero ano este ano vo pro segundo e ano passado a turma só viu aplicações em console então tudo q aprendi em forms foi por conta própria pegando material com a galera da faculdade e em alguns tutoriais como estes então desculpe pela minha ignorancia mais ainda desconheço mtos recursos tenho apenas uma lógik mais ou menos e então gostaria de saber se vc poderia me auxiliar passo a passo ou pelomenos me explicando por cima a lógik de identificar se o frmFilho ta aberto e não deixalo abrir de novo sse o msmo estiver aberto.
fico grato com sua ajuda desde já e os sites indicados são ótimos entendi por cima e vou marcalos sim mas preciso poder compreender um pouco mais afundo
obrigado Edney -
Dai galerinha venho com novas =D consegui solucionar esta minha duvida e posto aqui para todos que quiserem tirar suas duvidas e proveitos do código lá vai;
Para poder abrir um forms neto dentro do forms filho digita-se o seguinte códigoprivate void btnPermicao_Click(object sender, EventArgs e)
{
FormPermissão objpermitir = new FormPermissão();
objpermitir.MdiParent = this.MdiParent;
objpermitir.Show();
}
Isto fara com q um form filho abra outro form filho através dele
e para utilizar um comando do forms pai através do forms filho faz-se o seguinte. No meu caso usei um ToolStreepMenuItem
primeiro passo consiste em modificar a propriedade Modifiers de private para public e isto dara acesso publico ao item. Em seguida basta instancialo no form q vai executar seu comando e utiliza-lo no exemplo criei um ToolStreepMenuItem chamado AbrirMenu e em seu evento click ao o seguinte
public void AbrirMenu_Click(object sender, EventArgs e){
MessageBox.Show("Esse é um Comando do FormsPai");
}
isto dentro do form pai
para usa-lo dentro do forms filho faz-se o procedimento acima deixando sua propriedade de acesso como public e dentro do forms filho dentro do botão q desejar chamar o comando faça o seguinte
private void btnExecutarComandoDoFormPai_Click(object sender, EventArgs e){
FormPai objPai = new FormPai();
objPai.AbrirMenu.PerformClick();
}
e isto fara com q o comando do forms pai seja executado automaticamenti através do forms filho =D.
A todos q acharem util votem por favor não sou um expert em C# e só to começando mas todo conhecimento q puder compartilhar com os outros estarei dsposto pois como dizia um velho sabio "O CONHECIMENTO NÃO TEM PREÇO NEM DONO";
ASS: EDNEY BATISTA DA SILVA ou simplesmente DYN o piah q aprendeu amar programar =D- Marcado como Resposta Edney Batista Silva domingo, 24 de janeiro de 2010 22:18