I'm having a bit of a problem. I have a datatable in the parent form. I open a dialogbox form that gets the datatable property and creates a checkboxlist. This will be used to export those columns. But when I run the application the parentform property is null. I've tried setting it in the parent and dialogbox form (I assumed this would have been done automagically if ShowDialog() was called).
Can someone take a look and see where I'm going wrong? From the dialogbox:
frmParent MyParentForm = (frmParent)this.ParentForm;
for (int i=0; i<MyParentForm.DataGridTable.Count; i++)
{
chkListExportItems.Add(MyParentForm.DataGrid.Columns[i].Name,true);
}
From the parent form:
frmExports MyForm = new frmExports();
MyForm.MdiParent = this;
if (MyForm.ShowDialog == DialogResult.OK)
{
MyForm.SelectedItems // Do something
}
To send data from Parent to Child form you need to create a parameterized constructor. To send data from Child to Parent form you need to create a public method in Child class and use the method in Parent class to get the return value.
If you want to set the size and location of a form, you can use the DesktopBounds property to size and locate the form based on desktop coordinates or use the Bounds property of the Control class to set the size and location of the form based on screen coordinates.
Give a reference to the DataGridTable to your dialogbox form. You may pass it in the constructor. You should avoid using Parent/ParentForm and avoid casting.
1) "MdiParent" is the wrong property to use.
2) Call MyForm.ShowDialog(this);
3) Use "this.Owner" in the modal form.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With