Pergunta

Eu estou tendo um pouco de um problema. Eu tenho uma tabela de dados no formulário pai. Eu abro uma forma dialogbox que obtém a propriedade tabela de dados e cria um checkboxlist. Isso será usado para exportar essas colunas. Mas quando eu executar o aplicativo a propriedade ParentForm é nulo. Eu tentei definindo-o no formulário pai e dialogbox (eu assumi isso teria sido feito automagicamente se ShowDialog () foi chamado).

Alguém pode dar uma olhada e ver onde eu estou indo errado? Do dialogbox:

frmParent MyParentForm = (frmParent)this.ParentForm;
for (int i=0; i<MyParentForm.DataGridTable.Count; i++)
{
   chkListExportItems.Add(MyParentForm.DataGrid.Columns[i].Name,true);
}

A partir do formulário pai:

frmExports MyForm = new frmExports();
MyForm.MdiParent = this;
if (MyForm.ShowDialog == DialogResult.OK)
{
   MyForm.SelectedItems // Do something
}
Foi útil?

Solução

Dê uma referência ao DataGridTable ao seu formulário dialogbox. Você pode passá-lo no construtor. Você deve evitar usar Parent ParentForm e evitar fundição /.

Outras dicas

1) "MdiParent" é a propriedade errada para uso.

2) Chamada MyForm.ShowDialog (this);

3) Use "this.Owner" na forma modal.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top