C#第二个窗体关闭时调用第一个窗体中的方法

主窗体的按钮调用了第二个窗体,然后我想让第二个窗体在关闭的时候在调用下第一个窗体里面的一个方法... 主窗体的按钮调用了第二个窗体,然后我想让第二个窗体在关闭的时候在调用下第一个窗体里面的一个方法 展开
 我来答
匿名用户
2013-08-08
展开全部
给你看一下刚写的代码Form1类中 public partial class Form1 : Form
{
Form2 f2 = new Form2();
public Form1()
{
InitializeComponent(); f2.delegate1 += fromForm1;//Form2中的委托指定到Form1中的方法fromForm1();
}
//Form1上的一个按钮单击事件,用来显示Form2窗体
private void button1_Click(object sender, EventArgs e)
{
f2.ShowDialog();
}
//Form2所调用的Form1中的方法
private void fromForm1(string fromForm2)
{
MessageBox.Show("这是Form1中的方法;下面是:"+fromForm2);
}
} Form2类中public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
//声明委托
public delegate void GreetingDelegate(string str);
//定义一个委托
public GreetingDelegate delegate1; //窗体关闭事件,当产生这个事件,调用Form1中的方法
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
if (delegate1 != null)
{
delegate1("来自Form2的字符串");
}
}

} 这是委托的方式,方法带了一个字符串参数,注释写的比较详细的,希望可以帮到你,如果不明白可以联系我。
匿名用户
2013-08-08
展开全部
如果在第二个窗体关闭时 需要传递某些参数的话 用楼上的方法还是很不错的 但是如果不需要传递什么参数的话直接这么写就行了 private void Form1_Load(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Text = "AAAAA";
form2.FormClosing += new FormClosingEventHandler(form2_FormClosing);
form2.Show();
} private void form2_FormClosing(object sender, FormClosingEventArgs e)
{
MessageBox.Show((sender as Form).Text + "正在关闭");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式