[英]C# delegate to notify changes
我如何将使用委托进行的更改通知外部“源”。
基本上,我有一个表单,然后填写该表单,然后单击一个按钮,该按钮会将我填写的数据另存为XML。 我希望能够通知已使用另一个“实体”可以调用的委托对表单进行了更改。
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();
,或在保存更改后立即执行的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.