楼上那是不可以的 要你那么弄fr是启动窗体 如果结束了所有窗体就都关闭了
所以你在启动第一个窗提的时候就把窗体隐藏 隐藏后 你启动第二个窗体
在第2个窗体里 写:Form1 F1;
在第二个窗体里的构造函数里加参数 Form1 f1
然后在函数里把参数给F1;
F1 = f1;
然后你就可以写登陆了 如果登陆成功 F1.Show(); 关闭Form2 this.Close();
这样就可以 很简单的
假设关闭form1的同时打开form2,直接上代码:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
Form1 form1 = new Form1();
if (form1.ShowDialog(this) == DialogResult.OK)
{
// 操作成功后的处理
}
else
{
// 操作失败后的处理
}
}
}
作为例子,这里直接放在构造函数了,当然也可以放到Load事件的处理方法中。
....哪有这么复杂
你把第一个窗口的对象做为新窗口的构造函数的参数传进去,在新窗口的构造函数里面调用close就可以了!
比如 Form2 frr=new Form2(this);
public class Form2:Form
{
public Form2(Form1 fr)
{
fr.close();
//或者 fr.hide();
}
}
你的表述有错误,但我猜你是在一个Form fr中实例化了一个新Form frr,然后想关闭fr对不对,这样肯定不对的,fr是frr的parent线程
你应该将那部分代码放在主线程类或另外一个静态类中
你把你的问题说详细点
软件高手们来赚分!