C# - 子表单关闭后刷新下拉列表

时间:2009-02-03 22:31:56

标签: c#

我有一个带有多个“worker”表单的c#应用程序。这些表单有许多组合框,这些组合框在表单加载时从数据库中填充,旁边有“添加”按钮。当用户单击添加按钮时,将打开管理表单,允许用户将相应的值添加到数据库中。

例如,组合框可以是街道类型的列表。 “Drive”不在数据库的街道类型表中,因此用户想要添加它。他们单击添加按钮并加载管理表单,以便他们可以将“驱动器”值添加到街道类型。当管理表单关闭时,我想在返回工作表单时重新填充组合框。

有关实现此目标的最佳方法的任何见解?

5 个答案:

答案 0 :(得分:1)

谢谢你们。我使用了ShowDialog,效果很好。

管理adminForm = new Administration();  adminForm.tcAdministration.SelectedIndex = 1;  adminForm.ExistingCaseNumber = this.ExistingCaseNumber;  adminForm.ShowDialog();

this.PopulateComboBoxes();

答案 1 :(得分:0)

当创建可以管理列表的表单时,我会为表单的Closed事件添加一个事件处理程序。在那个事件处理程序中,我将重新加载列表的数据源,然后将其重新绑定到组合框。

答案 2 :(得分:0)

一种方法是将表单创建为模式表单,并且可以使用this.Parent,并从那里访问更新组合框的公共方法。

答案 3 :(得分:0)

如果你没有从一开始就设置它需要做更多的工作,但是如果你正在做正确的MVP [〜]事情,那个孩子的“添加”表单应该触发模型中的更新,你的控制器观察,通过更新视图的那一部分来做出反应。

[〜] Martin Fowler已停止使用“模型 - 视图 - 演示者”这一术语,但他仍然在监督控制器和监督演示者之间作为替代品使用。

一对夫妇参考:

答案 4 :(得分:0)

你也可以这样做: Form1 frm =(Form1)Application.OpenForms [“Form1”];这样您就可以从另一个表单更新表单。