如何使用代表通知外部“来源”我所做的更改。
基本上我有一个表单,我填写该表单并单击一个保存的按钮 我将数据填充到数据库表中作为XML。我希望能够通过另一个“实体”可以调用的委托来通知表单的更改。
public void Changes_Made()
{
//yay. Changes made.
}
protected void okButton_Click(object sender, EventArgs e)
{
//...
//save data
//...
Changes_Made();
}
实际情况是:当我保存我的偏好时,显示我的数据的网格将刷新并使用我点击ok_button时设置的首选项。这有什么意义吗?
答案 0 :(得分:1)
您可以举起一个事件来通知更改。
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());
}
答案 1 :(得分:0)
这就是C# events的用途。
答案 2 :(得分:0)
如果我理解正确,网格和保存按钮位于同一页面上。如果是这种情况,只需在保存更改后直接调用PopulateGridData();
或类似内容。