当被调用的表单关闭时,将新数据加载到调用表单中

时间:2011-08-14 08:54:21

标签: c# .net forms

如何在关闭被叫表单时将新数据加载到调用表单中?

例如, 我有两种形式:


表格A和表格B

表单A有combobox(其中包含listitems“Paris”,“Rome”,“Madrid”=> listitem来自数据库)

表格A调用表格B(显示对话框)

在表格B中,我添加新城市,例如“伦敦”

当我关闭表单B时,我希望表单A中的组合框再次加载城市数据

(现在,该列表包含“巴黎”,“罗马”,“马德里”,“伦敦”)

我该如何处理这个问题?

2 个答案:

答案 0 :(得分:1)

这样做的方法很少。这是其中一种方式。

将FormA作为参数传递给FormB构造函数。

在FormB类

private FormA parentFormA;

public FormB(FormA myFormA)
{
    parentFormA = myFormA;
}

Private void FormB_FormClosing(object sender, FormClosingEventArgs e)
{
    //parentFormA.UpdateCityData(parameter)
}

在FormA中打开FormB,如下所示

FormB formB = new FormB(this);
formB.ShowDialog();

答案 1 :(得分:0)

您可以使用属性将表单B转换为您自己的类。然后你可以在表单A中使用它,只需在ShowDialog完成后获取NewCity值。

class CityAdderForm : Form
{
    public string NewCity { get; set; }


    private void CityAdderForm _FormClosing(object sender, FormClosingEventArgs e)
    {
        NewCity = // ... any logic that will set the NewCity property.
    }
}