c#中关闭子窗体,打开父窗体(在线等 谢谢)

在打开子窗体是,父窗体隐藏(hide),现在是想关闭子窗体时打开父窗体 怎么实现 求代码实现

在子窗体的关闭事件formClosing 中写代码显示父窗体,
父窗体对象.Show() 就可以了.

可能你的问题是没有得到父窗体对象,那么你可以在打开子窗体时传一个父窗体对象.
如:
//打开子窗体Form2,把父窗体对象this传过去( 需要在Form2中添加一个构造方法)
form2 f2 = new form2(this);
this.hide();
f2.Show();追问

谢谢 为什么不能用 f2.close呢

追答

f2.close 时会触发formClosing事件。

追问

哦 好吧 我说嘛 直接全部关掉了

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-10
将父窗体的实例传递到子窗体,然后在子窗体关闭事件中完成父窗体的打开。
第2个回答  2013-01-10
我做了个demo
父窗体form1,显示3秒后,自动打开子窗体form2,关闭form2的时候,重新显示父窗体form1

//////////////////form1

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private System.Windows.Forms.Timer timer1;
private DateTime startDateTime;
public Form1()
{
InitializeComponent();
startDateTime = DateTime.Now;
//
// timer1
//
this.timer1 = new Timer();
this.timer1.Enabled = true;
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
this.timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
TimeSpan ts = dt.Subtract(startDateTime);
if (ts.Seconds == 3)
{
Form2 f2 = new Form2(this);
f2.Show();
this.Hide();
}
}
}
}
//////////////////form2

using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
private Form1 f1;
public Form2(Form1 f1)
{
InitializeComponent();
this.f1 = f1;
}

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
f1.Show();
}
}
}

参考资料:http://zhidao.baidu.com/question/509476961.html?oldq=1

c#中关闭子窗体,打开父窗体(在线等 谢谢)
父窗体对象.Show() 就可以了.可能你的问题是没有得到父窗体对象,那么你可以在打开子窗体时传一个父窗体对象.如:\/\/打开子窗体Form2,把父窗体对象this传过去( 需要在Form2中添加一个构造方法)form2 f2 = new form2(this);this.hide();f2.Show();...

c# 子窗体关闭后 怎么把已经隐藏的父窗体显示出来 ?
用以下方法即可把已经隐藏的父窗体显示出来:用模式对话框ShowDialog()关闭时返回this.DialogResult = DialogResult.值;主窗体按键代码:form1 f = new form1();this.Hide();DialogResult d = f.ShowDialog();if(d == DialogResult.值)this.visable = true;...

C#子窗体关闭后刷新父窗体
给你个例子 假设你的主窗口是Mainform,子窗口是form 1。找到MainForm.Designer.cs 2.把你要刷新的控件的类型改成public 比如 private System.Windows.Forms.listBox listBox1;改成 public System.Windows.Forms.listBox listBox1;3.在你打开子窗口的地方加上代码 form form = new form();form.Mai...

c#中关闭子窗口怎样刷新主窗口 关闭子窗体然后刷新主窗体中的datagradevie...
你可以给子窗口关闭是给一个返回值,父窗口判断返回值 父窗口代码 Form2 f = new Form2();if (f.ShowDialog() == DialogResult.OK){ \/\/刷新 } 子窗口代码 private void Form2_FormClosing(object sender, FormClosingEventArgs e){ this.DialogResult = DialogResult.OK;} ...

C#子窗口关闭时怎样立刻刷新主窗口
1。如果使用的是MDI父子窗体,可以在关闭子窗体前加入 TextBox tb = (TextBox)MdiParent.Controls["textBox1"]; \/\/ 从MDI父窗体获得控件 tb.Text = textBox1.Text; \/\/ 更新MDI父窗体空间属性值 2。如果使用的是直接创建的窗体,并且是关联窗体(使用了Owner),可以在关闭子窗体前加入 TextBo...

C# winform怎么实现子窗体关闭时刷新父窗体数据
方法1:在子窗体的colsing事件中,调用父窗体的刷新方法;方法2:子窗体ShowDialog(),父窗体接收DialogResult.OK 时刷新;方法3:增加程序 协调员的角色,设计界面协调者 对象实现。

C#关闭当前窗体后怎么显示父窗体
所有操作都在A那个按钮中中实现。this.Hide(); \/\/ 先隐藏本窗体 b.ShowDialig(); \/\/ 显示B窗体,关闭B会执行下面语句,可以达到你要的效果 this.Show(); \/\/ 显示本窗体 因为你的窗体没有联系,这么做是比较好的了。像2楼说的在FormClosing和Formclosed事件里做,是实现不了的,因为B里边你...

谁知道在c#中关闭子窗口怎样刷新主窗口? 关闭子窗体然后刷新主窗体中的...
子窗口用模式对话框显示(子窗口.ShowDialog() 然后在这句代码下写上 datagridview绑定数据的代码 子窗口.ShowDialog() ;BindDate(); 这是一个绑定datagridview数据的一个方法

C# 子窗体关闭的同时父窗体也随之关闭
父窗体:form2.ShowDialog(this);子窗体的Closed事件里写:this.Owner.Close();两个窗体就一起关了。

C#子窗体关闭时怎么使父窗口中的控件也随之改变。
子窗体定义一个委托,父窗体实例化子窗体时注册子窗体的委托事件(具体方法实现父窗口的控件变化),子窗体关闭时调用事件方法。

相似回答
大家正在搜