在C#.Net Windows应用程序中关闭子窗口后刷新MDI父窗口数据网格?

时间:2010-10-01 11:12:00

标签: c# winforms c#-3.0 c#-2.0 mdi

我有一个带有datagridview控件的MDI窗口,用于显示数据库表中的记录列表。如果用户想要添加新记录,则单击“新建”并显示弹出(子)窗口。弹出窗口接受来自用户的数据(名称,数字,日期等),然后在用户单击“确定”按钮时将其提交回服务器。此时我想用新记录更新数据库,关闭弹出(子)窗口,然后刷新父窗口datagridview,以便它反映使用弹出窗口创建的新添加的记录。

以下是来自MDI的打开子窗口的代码

frmJobControlWindow frmjobcontrol = new frmJobControlWindow();
frmjobcontrol.ShowDialog();

while子窗口关闭事件如何处理刷新MDI Parent DataGridview?

1 个答案:

答案 0 :(得分:0)

ShowDialog()返回一个值,指示用户对该对话框执行的操作。像这样使用它:

using (frmJobControlWindow frmjobcontrol = new frmJobControlWindow()) {
    if (frmjobcontrol.ShowDialog() == DialogResult.Ok) {
        // update datagrid
        //...
    }
}

确保在OK按钮Click事件处理程序中设置对话框的DialogResult属性:

private void Ok_Click(object sender, EventArgs e) {
    // Do some stuff
    //...
    this.DialogResult = DialogResult.Ok;
}

虽然在设置表单的AcceptButton属性时它是自动的。设置DialogResult也会自动关闭对话框。