c#委托来通知更改
本文关键字:通知 | 更新日期: 2023-09-27 18:19:05
如何将我使用委托所做的更改通知外部"源"。
基本上我有一个表单,我填写这个表单,然后点击保存按钮我将填充的数据作为XML格式放入DB表中。我希望能够通知表单的更改已经使用另一个"实体"可以调用的委托。
public void Changes_Made()
{
//yay. Changes made.
}
protected void okButton_Click(object sender, EventArgs e)
{
//...
//save data
//...
Changes_Made();
}
实际场景是:当我保存我的首选项时,显示我的数据的网格将刷新,并在我单击ok_button时使用首选项集。这有什么意义吗?
您可以引发一个事件来通知更改。
public ctor() // Method where you want to hook the event, can be constructor or any thing else
{
//Hook to event
obj.ChangesMade += Changes_Made;
// Here obj is the object of type in which you have okButton_Click
// and ChangesMade event declaration
}
public void Changes_Made()
{
//yay. Changes made. update grid
}
//declare event
public event EventHandler ChangesMade();
protected void okButton_Click(object sender, EventArgs e)
{
//...
//save data
//...
//raise event
if(ChangesMade != null)
ChangesMade(this, new EventArgs());
}
这就是c#事件的作用。
如果我理解正确的话,网格和保存按钮是在同一个页面上的。如果是这种情况,只需在保存更改后直接调用PopulateGridData();
或类似的内容。