如何在保存数据时引发自定义事件
本文关键字:自定义 事件 数据 保存 | 更新日期: 2023-09-27 18:27:00
我正在使用用C#编写的应用程序,我想要简单的事件处理代码。
我有两个表单,一个表单包含一个简单的网格,其中包含客户列表,另一个表单有一些文本框,接受客户的信息,并将数据保存在数据库中。
现在,我想在这个过程中使用event。
当用户使用详细信息表单保存数据时,应该引发事件,它将重新加载网格中的所有数据(带有最近添加的记录)
我有这段用VB.NET编写的代码,它很简单,但我仍然无法理解如何编写C#事件处理代码。
VB代码
网格形式代码
Private Sub AddCustomer()
AddHandler Detailform.DataAdded, AddressOf AddRow
End sub
Private Sub AddRow()
dt = LoadAllCustomer()
gc.DataSource = dt
gv.FocusedRowHandle = OCustomerCollection.Count - 1
End Sub
客户详细信息表代码
'Declaration
Public Event DataAdded()
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.
SetProperties()
' invoke save
oCustomer.Save()
RaiseEvent DataAdded()
End sub
一些示例代码:
public delegate void SavedEventHandler(/* parameters if you need any information what actually got saved */);
public event SavedEventHandler Saved;
public void OnSaved() {
var handler = this.Saved;
if (handler != null) {
handler();
}
}
保存完成后,您的DetailForm可以调用OnSaved:
this.OnSaved();
现在您可以注册或注销事件:
datailForm.Saved += ReloadData();
datailForm.Saved -= ReloadData();