如何在关闭被叫表单时将新数据加载到调用表单中?
例如, 我有两种形式:
表格A和表格B
表单A有combobox(其中包含listitems“Paris”,“Rome”,“Madrid”=> listitem来自数据库)
表格A调用表格B(显示对话框)
在表格B中,我添加新城市,例如“伦敦”
当我关闭表单B时,我希望表单A中的组合框再次加载城市数据
(现在,该列表包含“巴黎”,“罗马”,“马德里”,“伦敦”)
我该如何处理这个问题?
答案 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.
}
}