0

我在 vb.net 中从事临床应用工作。我有两个表格 frmMain,第二个表格是 frmPatient。当我的应用程序启动时,默认情况下在 MdiForm 上加载 frmmain。我在 frmmain 表单上有数据网格,它在网格中显示患者记录。在打开患者基本数据时,主窗体仍然打开,用户输入患者基本数据并单击保存。保存患者表格将关闭后,我想用新插入的记录更新主表格的网格。但我不知道该怎么做。任何人请帮我做。我在 frmPatient deactivate、FormClose 和 formClosing 事件上使用 frmMain.Activate 或 frmMain.Refresh,但对我没有任何作用。如何在关闭 frmPatient 表单时激活我的 frmMain 表单。

我不想使用 frmMain.Show 或 frmMain.showDialouge 因为他们会创建 frmmain 表单的新实例。

下面是我的代码,其中我尝试在关闭 frmPatient 时在 FrmMain 网格上加载数据。这里我调用了 frmMain 表单的 MyrefeshMethod 方法,它将数据加载到网格上。这里 Me.txtptId.Text 具有最近从 frmPateint 表单添加到数据库中的值。

Dim dts As New DataSet
dts = objCode.ptInfoGetById(Me.txtptId.Text)
FrmMain.MyrefeshMethod(dts)

但它不会在屏幕上加载新记录。我能做些什么呢。

4

1 回答 1

0

我会为事件实现一个广播系统,我在类似的系统中做过。

Jerry Miller 有一个很棒的博客。

通过这种设计,我将事件从一个发送到另一个。

http://codebetter.com/jeremymiller/2009/07/22/braindump-on-the-event-aggregator-pattern/ http://codebetter.com/jeremymiller/2009/07/24/how-im-using-故事讲述者中的事件聚合器模式/

于 2013-11-01T07:56:52.783 回答