【发布时间】:2009-11-19 17:46:51
【问题描述】:
我是一个学习 c# 的人,我有一个带有父表单和子表单的程序。我希望子窗体引发一个事件,以便父窗体可以做某事。我复制了一些代码,但我不够聪明,看不出有什么问题。我不知道如何正确编码子表单中的事件。错误是未定义 DatasourceUpdated。任何人都可以帮助我提出修复建议吗?
在我的子表单中
public partial class Form2 : Form
{
public EventHandler DataSourceUpdated;
...
private void button2_Click(object sender, EventArgs e) //Done button
{
if (this.DataSourceUpdated != null) //raise the event
{
this.DatasourceUpdated();
}
this.Close();
}
在父表单中我有这个:
private void myAddRecord()
{
string myID = string.Empty;
string myMessage = "Insert";
Form2 myForm = new Form2(myID, myMessage);
Form2.DatasourceUpdated += ChildUpdated;
myForm.Show();
【问题讨论】:
-
ChildUpdated 在哪里定义?你能给我们看看代码吗?
-
我有一个名为 InsertRecord 的方法来处理子表单上的 SQL 更新。我需要从 InsertRecord 的结果中设置 DataSourceUpdated 还是我只有事件处理程序引用 InsertRecord?
-
@Mark W,您不应该编辑问题中的错误。现在,如果有人阅读您的问题,他们将看不到您遇到的实际问题,并且可能没有意识到您已经使用“固定”代码更新了您的问题,导致他们可能认为您发布的内容实际上是不正确的。
-
对不起,忽略我的最后评论。我完全忽略了细微差别。