부모 폼에 DataTable
을 사용하는 항목으로 채워진 comboBox가 있는데이 모양은 DataSource
입니다. 내 부모 폼에서자식 폼이 닫힐 때 comboBox 새로 고침
sourceTypes = myDataBase.SourceType.ToList<SourceTypes>();
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("Name");
DataColumn dc2 = new DataColumn("ID");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
foreach (SourceType sourceType in sourceTypes)
{
string sourceTypeName = sourceType.sourceTypeName;
string ID = sourceType.sourceTypeID.ToString();
dt.Rows.Add(sourceTypeName, ID);
}
comboBox3.DataSource = dt;
comboBox3.ValueMember = "ID";
comboBox3.DisplayMember = "Name";
은 내가 myDataBase
에 새 레코드를 추가하는 내 자식 폼을 호출하고 난 자식 폼이 닫힐으로이 새로운 추가 기록이 바로 부모님의 형태 콤보 상자에 표시 할 것입니다. 그래서 나는 comboBox를 리프레시 할 childFrm에서 이와 같은 것을 호출하려고합니다.
private void FrmChild_FormClosed(object sender, FormClosedEventArgs e)
{
FrmParent.refresh();
}
이제 부모 폼에 정적 새로 고침 방법이 필요합니다. 실제로 작동하지 않습니다. 내가 어떻게 끝낼 수 있니? 건배
편집 : 나는이 (정적 방법)처럼 시도했지만 내 자식 폼에서
를 작동하지 않았다 :
private void button7_Click(object sender, EventArgs e)
{
FrmChild frmChild = new FrmChild();
frmChild.ShowDialog();
frmChild.Dispose();
}
EDIT2을 : 아이 양식은 여기 열립니다
private void FrmChild_FormClosed(object sender, FormClosedEventArgs e)
{
FrmParent frmParent = new FrmParent();
frmParent.refresh();
}
상위 폼에 새 레코드가 myDataBase에 추가 된 후 새로 고침 메서드.
sourceTypes = myDataBase.SourceType.ToList<SourceTypes>();
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("Name");
DataColumn dc2 = new DataColumn("ID");
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
foreach (SourceType sourceType in sourceTypes)
{
string sourceTypeName = sourceType.sourceTypeName;
string ID = sourceType.sourceTypeID.ToString();
dt.Rows.Add(sourceTypeName, ID);
}
comboBox3.DataSource = dt;
comboBox3.ValueMember = "ID";
comboBox3.DisplayMember = "Name";
이렇게 시도하면 콤보 상자가 아직 새로 고쳐지지 않습니다.
Refresh 메서드 호출 할 수 있습니다 어떻게 자식 폼은/폐쇄 열립니다? 모달 팝업을 사용하고 있습니까? – nmat
부모 폼 자체에서 호출되었을 때'refresh' 메소드가 작동하는지 확인할 수 있습니까? 정적으로 만드는 이유가 있습니까? 자식 폼에서 액세스 할 수 있도록 정적으로 만들면 폼 인스턴스에 대한 참조를 전달할 수 있으므로이를 수행 할 필요가 없습니다. – keyboardP
@keyboardP 네, 정적으로 만들어서 내 자식 폼에서 액세스 할 수 있습니다. 난 더 나은 메모리 관리 다음 자식 폼이 닫힐 때마다 새로운 parentForm 개체를 만드는 것 같아요. – Whizzil