我遇到了一些问题。我在父表单中有一个数据表。我打开一个对话框窗体获取数据表属性并创建一个复选框列表。这将用于导出这些列。但是当我运行应用程序时,parentform 属性为空。我试过将它设置为父级和对话框形式(我假设如果调用 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 窗体,从父窗体获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/253038/