Windows窗体,从父窗体获取一个属性

我有一个问题。 我有一个父表单中的数据表。 我打开一个对话框窗体,获取datatable属性并创build一个checkbox列表。 这将用于导出这些列。 但是,当我运行该应用程序的父窗体属性为空。 我已经尝试在父窗体和对话框窗体中设置它(我认为如果ShowDialog()被调用,这将自动完成)。

有人可以看一下,看看我要去哪里错了吗? 从对话框中:

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

父母forms

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

Solutions Collecting From Web of "Windows窗体,从父窗体获取一个属性"

将DataGridTable引用给对话框窗体。 你可以在构造函数中传递它。 你应该避免使用Parent / ParentForm并避免强制转换。

1)“MdiParent”是使用的错误属性。

2)调用MyForm.ShowDialog(this);

3)以模式形式使用“this.Owner”。