0

私はvb.netでクリニックアプリケーションに取り組んでいます.2つのフォームfrmMainがあり、2番目のフォームはfrmPatientです。私のアプリケーションが起動している間、frmmain はデフォルトで MdiForm にロードされます。患者の記録をグリッドに表示する frmmain フォームにデータ グリッドがあります。患者の基本データを開いている間もメイン フォームが開き、ユーザーは患者の基本データを入力して [保存] をクリックします。患者フォームを保存した後、新しく挿入されたレコードでメインフォームのグリッドを更新したいと考えています。しかし、私はそれを行う方法がわかりません。誰でも私がそれをするのを手伝ってください。frmPatient activate、FormClose、および formClosing イベントで frmMain.Activate または frmMain.Refresh を使用していますが、何も機能しません。frmPatient フォームを閉じるときに frmMain フォームをアクティブにする方法を教えてください。

frmMain.Show または frmMain.showDialouge は、frmmain フォームの新しいインスタンスを作成するため、使用したくありません。

以下は、frmPatient.hereを閉じながら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- the-event-aggregator-pattern-in-storyteller/

于 2013-11-01T07:56:52.783 に答える