Pregunta

Estoy teniendo un pequeño problema. Tengo un datatable en el formulario padre. Abro un formulario de cuadro de diálogo que obtiene la propiedad de datos y crea una lista de casillas de verificación. Esto se utilizará para exportar esas columnas. Pero cuando ejecuto la aplicación, la propiedad parentform es nula. He intentado configurarlo en el formulario principal y en el cuadro de diálogo (asumí que esto se habría hecho automágicamente si se hubiera llamado a ShowDialog ()).

¿Alguien puede echar un vistazo y ver dónde me equivoco? Desde el cuadro de diálogo:

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

Desde el formulario padre:

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

Solución

Dé una referencia a la tabla de tabla de datos a su formulario de cuadro de diálogo. Puedes pasarlo en el constructor. Debes evitar usar Parent / ParentForm y evitar el lanzamiento.

Otros consejos

1) " MdiParent " es la propiedad incorrecta a utilizar.

2) Llame a MyForm.ShowDialog (this);

3) Use " this.Owner " en la forma modal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top