C#子窗体关闭时怎么使父窗口中的控件也随之改变。

 我来答
xmjkmh
2014-04-19 · 超过31用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:64.7万
展开全部
子窗体定义一个委托,父窗体实例化子窗体时注册子窗体的委托事件(具体方法实现父窗口的控件变化),子窗体关闭时调用事件方法。
追问
这个事件方法怎么调用原来子窗口中的数据?
追答
示例 
父窗体
public void ShowPopWindow()
{
TestA sub = new TestA();
sub.CloseWindow += new Action(sub_CloseWindow);
sub.show();
}

void sub_CloseWindow()
{
//改变父窗体控件内容
}

子窗体
public class TestA
{
public event Action CloseWindow;

protected virtual void OnCloseWindow()
{
Action handler = CloseWindow;
if (handler != null) handler();
}

//子窗体关闭事件
private void CloseSubWindow()
{
OnCloseWindow();
}
}
川妹美食
2014-10-09
知道答主
回答量:7
采纳率:0%
帮助的人:7931
展开全部
父窗体:
private void testToolStripMenuItem_Click(object sender, EventArgs e)
{

FormChild child = new FormChild();
//新建一个窗体
child.MdiParent = this;
child.CloseWindow += new Action(sub_CloseWindow);
child.Show();

}
void sub_CloseWindow()
{
//改变父窗体控件内容

}
子窗体:
public FormChild()
{
InitializeComponent();
}
public event Action CloseWindow;
private void FormChild_FormClosing(object sender, FormClosingEventArgs e)
//子窗体退出事件
{
Action handler = CloseWindow;
if (handler != null) handler();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式