MdiParent duvidas com forms
Estou com uma dúvida, eu criei um Form do tipo MdiParent, eu tenho três forms que abrem dentro dessa Mdi, só que quando no form de cadastro quando eu preencho os campos e clico no botão confirmar, ate ai tudo bem, ele coloca as informações no form seguinte, porem esse form não fica dentro da Mdi quando aplico essa ação, alguém poderia me dar uma dica ?
Vinicius Biá
Curtidas 0
Respostas
Joel Rodrigues
29/05/2013
Os demais forms estão todos como filhos do principal?
GOSTEI 0
Vinicius Biá
29/05/2013
acho que sim, no caso usa-se ex: frm.Mdi.Parent = this;
seria isso ?
seria isso ?
GOSTEI 0
Joel Rodrigues
29/05/2013
Exato. Em todos que você deseja que sejam filhos do form principal.
GOSTEI 0
Vinicius Biá
29/05/2013
Então esta assim:
private void btnCad_Click(object sender, EventArgs e)
{
Form frmForm1 = new frmPDE(txtUsuario.Text);
frmForm1.MdiParent = this;
frmForm1.Show();
this.Close();
Mas na hora em que clico no botão confirmar, que no caso é o ctnCad, ele me joga o Form que recebe as informações fora da Mdi
private void btnCad_Click(object sender, EventArgs e)
{
Form frmForm1 = new frmPDE(txtUsuario.Text);
frmForm1.MdiParent = this;
frmForm1.Show();
this.Close();
Mas na hora em que clico no botão confirmar, que no caso é o ctnCad, ele me joga o Form que recebe as informações fora da Mdi
GOSTEI 0
Joel Rodrigues
29/05/2013
Esse código está no form principal ou em um MDI filho que já está dentro do principal e chama outro MDI filho?
GOSTEI 0
Vinicius Biá
29/05/2013
Em um MDI filho que chama outro MDI filho
GOSTEI 0
Joel Rodrigues
29/05/2013
No caso, você está definindo o segundo form como filho do primeiro. Veja que você definiu o Parent como this, apontando para o primeiro filho.
O correto aí então seria o PArent ser o form principal.
O correto aí então seria o PArent ser o form principal.
GOSTEI 0
Vinicius Biá
29/05/2013
É justamente essa a duvida, quando eu me referencio "this", ele me gera um erro dizendo que este form não é do tipo Container, ou seja um MdiParent, e eu gostaria de saber como faz para este form filho jogar informação dentro de outro sem que ele saia do form principal
GOSTEI 0
Joel Rodrigues
29/05/2013
Cara, acho que para isso você precisará ter uma referência ao form principal. Uma forma de fazer, que eu visualizo agora, é passar uma referência ao form principal para o primeiro filho e usá-la como parent para o segundo. Por exemplo:
No primeiro filho, você teria uma variável:
e ao chamá-lo, a partir do form principal, você passaria ele próprio pra essa variável:
E no primeiro filho você utilizaria a variável FormPai como Parent do segundo filho, ao invés do this.
No primeiro filho, você teria uma variável:
public formPai : Form
e ao chamá-lo, a partir do form principal, você passaria ele próprio pra essa variável:
formFilho.FormPai = this;
E no primeiro filho você utilizaria a variável FormPai como Parent do segundo filho, ao invés do this.
GOSTEI 0