110,539
社区成员
发帖
与我相关
我的任务
分享
public delegate void ChildRefrsh();
public event ChildRefrsh Refrshfather;
private void button1_Click(object sender, EventArgs e)
{
Refrshfather();
this.Close();
}//子窗体
private void 编辑ToolStripMenuItem_Click(object sender, EventArgs e)
{
strNO = this.dataGridView1.CurrentRow.Cells[3].Value.ToString();
EditArticle ea = new EditArticle();
ea.Refrshfather += new EditArticle.ChildRefrsh(FrmRefresh);
ea.Show();
}
public void FrmRefresh()
{
}
//父窗体
public event EventHandler<DataChangedArgs> DataChanged;
public class DataChangedArgs : EventArgs
{
public MyDataType Data;
}
......
子窗体抛出事件,通知自己的所有宿主对象有数据改变。
主窗体捕获了事件,可以将 Data 数据直接传给你的用户控件。例如你的用户控件可能有接口内容public MyDataType Data{get;set;}
主窗体就可以直接设置用户控件的 Data。
实际上真正的接口设计要你自己用心来揣摩数据结构、业务描述。并不是纠结技术术语,而是要综合考虑数据结构,并且以业务的描述为核心出发点。