我正在使用C#编写的应用程序,我想要简单的事件处理代码。
我有两个表单,一个表单包含一个简单的网格,其中包含客户列表和一个表单,其中包含一些文本框,并接受客户的信息,这些信息将数据保存在数据库中。
现在,我想在此过程中使用事件。
当用户使用详细信息表单保存数据时,应该引发事件并重新加载网格中的所有数据(最近添加的记录)
我有这个用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
答案 0 :(得分:0)
一些示例代码:
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();