请教C# 如何添加关闭窗体事件 本帖最后由 zhouxicai 于 2013-07-02 17:53:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Form2 form2 = new Form2(); DialogResult r = form2.ShowDialog(); if (r == System.Windows.Forms.DialogResult.Cancel) { MessageBox.Show("这里执行你要的代码吧。"); } 其实你用 ShowDialog 都不需要隐藏主窗体 Form2 frm2 = new From2();frm2.FormClosed += delegate(object s, FormClosedEventArgs fe) { this.Show();}; 在你的 form1窗体写一个方法 this.show();在form2 定义一个委托在显示form2的时候给这个委托赋值在form2窗体关闭事件里执行委托form1public void ShowForm(){this.Show();}//显示form2时给form2定义的委托赋值form2 f = new fomr2();f.showForm = ShowForm;form2public delegte void showForm;//窗体关闭时调用委托if(showForm != null)showForm(); 在属性选项卡中切换到事件选项卡,然后双击Form_Closed中注册关闭事件,然后在对于的关闭事件中处理隐藏窗体2的逻辑就好了。 form2的构造函数重载一下form2(form own){this.Owner=own;}form1在创建窗体的时候要new form2(this)在form2的中加入以下代码就行了 protected override void OnClosing(CancelEventArgs e) { // 这里写关闭窗体要执行的代码 // this.OnClosing(e); this.Owner.Close(); } FORM2 form2=new FORM2();this.Hide();form2.ShowDialog();this.Show();或者把FORM1传入form2中在FORM2中写如下代码FORM1 form1=null;public FORM2(FORM1 form1){ this.form1=form1;}在FORM2中的FormClosed或FormClosing事件中写如下代码form1.Show();FORM1中调用如下FORM2 form2=new FORM2(this);this.Hide();form2.Show();或form2.ShowDialog(); vs2010 C#如何将内容写入EXCEL不同的SHEET表里? (IE8)Web中的弹出模式窗体为什么会有地址栏 c# 调用DLL文件的小问题 c# 问题? 问一下阿~~ 用C#和硬件交互容易么? 难!!! byte[] to string,关于encoding 如何自动调整让DataGrid列的宽度 急忙求助!怎样在windows程序里作出如下效果? 真的真的没人知道???????? WCF性能问题大探讨 -- 大家多给我点建议 如何实现输入框中默认文本,鼠标点击之后消失?
DialogResult r = form2.ShowDialog();
if (r == System.Windows.Forms.DialogResult.Cancel)
{
MessageBox.Show("这里执行你要的代码吧。");
}
Form2 frm2 = new From2();
frm2.FormClosed += delegate(object s, FormClosedEventArgs fe) { this.Show();};
this.show();在form2 定义一个委托
在显示form2的时候给这个委托赋值在form2窗体关闭事件里执行委托form1
public void ShowForm()
{
this.Show();
}
//显示form2时给form2定义的委托赋值
form2 f = new fomr2();
f.showForm = ShowForm;form2
public delegte void showForm;
//窗体关闭时调用委托
if(showForm != null)showForm();
form2(form own)
{
this.Owner=own;
}
form1在创建窗体的时候要new form2(this)在form2的中加入以下代码就行了
protected override void OnClosing(CancelEventArgs e)
{
// 这里写关闭窗体要执行的代码 // this.OnClosing(e);
this.Owner.Close();
}
this.Hide();
form2.ShowDialog();
this.Show();或者把FORM1传入form2中
在FORM2中写如下代码
FORM1 form1=null;
public FORM2(FORM1 form1){
this.form1=form1;
}在FORM2中的FormClosed或FormClosing事件中写如下代码
form1.Show();FORM1中调用如下
FORM2 form2=new FORM2(this);
this.Hide();
form2.Show();或form2.ShowDialog();