我有点问题。我在父表单中有一个数据表。我打开一个对话框窗体,该窗体获取datatable属性并创建一个复选框列表。这将用于导出那些列。但是,当我运行应用程序时,parentform属性为null。我试过以父级和对话框形式设置它(我假设如果调用ShowDialog(),该方法将自动完成)。
有人可以看看我要去哪里吗?
在对话框中:
frmParent MyParentForm = (frmParent)this.ParentForm;
for (int i=0; i<MyParentForm.DataGridTable.Count; i++)
{
chkListExportItems.Add(MyParentForm.DataGrid.Columns[i].Name,true);
}
从父表单:
frmExports MyForm = new frmExports();
MyForm.MdiParent = this;
if (MyForm.ShowDialog == DialogResult.OK)
{
MyForm.SelectedItems // Do something
}
最佳答案
在对话框表单中引用DataGridTable。您可以在构造函数中传递它。
您应该避免使用Parent/ParentForm并避免强制转换。
关于windows - Windows窗体,从父窗体获取属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/253038/