在A窗口中打开B窗体,在B窗体数据更新完后自动更新A窗体中的数据,怎么写?
1个回答
展开全部
有很多方式都可以完成。
第一种,比较简单的,在打开B窗体的时候,将A窗体的引用作为参数传过去,然后在B中直接调用A窗口的方法更新数据。例如
WindowB winB = new WindowB(winA);
在WindowB的代码中,更新完数据后
winA.UpdateData();
第二种,在B窗口中定义一个事件,A窗体监听B窗体的事件。
例如,在WindowB中
public event EventHandler UpdateDataCompleted;
然后在WindowB更新完数据的时候
private void UpdateData()
{
// 更新数据
......
// 触发事件
if(UpdateDataCompleted != null)
{
UpdateDataCompleted(this, EventArgs.Empty);
}
}
在WindowA的代码中:
WindowB winB = new WindowB();
winB.UpdateDataCompleted += winB_UpdateDataCompleted;
......
private void winB_UpdateDataCompleted(object sender, EventArgs e)
{
// 更新A的数据
......
}
第一种,比较简单的,在打开B窗体的时候,将A窗体的引用作为参数传过去,然后在B中直接调用A窗口的方法更新数据。例如
WindowB winB = new WindowB(winA);
在WindowB的代码中,更新完数据后
winA.UpdateData();
第二种,在B窗口中定义一个事件,A窗体监听B窗体的事件。
例如,在WindowB中
public event EventHandler UpdateDataCompleted;
然后在WindowB更新完数据的时候
private void UpdateData()
{
// 更新数据
......
// 触发事件
if(UpdateDataCompleted != null)
{
UpdateDataCompleted(this, EventArgs.Empty);
}
}
在WindowA的代码中:
WindowB winB = new WindowB();
winB.UpdateDataCompleted += winB_UpdateDataCompleted;
......
private void winB_UpdateDataCompleted(object sender, EventArgs e)
{
// 更新A的数据
......
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询