문제

나는 약간의 문제가 있습니다. 부모 양식의 데이터 가능이 있습니다. DataTable 속성을 가져 와서 CheckBoxList를 생성하는 대화 상자 양식을 열었습니다. 이것은 해당 열을 내보내는 데 사용됩니다. 그러나 응용 프로그램을 실행할 때 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 사용을 피하고 캐스팅을 피해야합니다.

다른 팁

1) "mdiparent"는 사용하기에 잘못된 속성입니다.

2) myform.showdialog (this)에 전화하십시오.

3) "this.owner"를 모달 형태로 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top