怎么在C#中实现打开一个新窗口的同时关闭原来旧窗口

2024-11-29 18:54:31
推荐回答(5个)
回答1:

楼上那是不可以的 要你那么弄fr是启动窗体 如果结束了所有窗体就都关闭了
所以你在启动第一个窗提的时候就把窗体隐藏 隐藏后 你启动第二个窗体
在第2个窗体里 写:Form1 F1;
在第二个窗体里的构造函数里加参数 Form1 f1

然后在函数里把参数给F1;
F1 = f1;
然后你就可以写登陆了 如果登陆成功 F1.Show(); 关闭Form2 this.Close();
这样就可以 很简单的

回答2:

假设关闭form1的同时打开form2,直接上代码:

public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
Form1 form1 = new Form1();
if (form1.ShowDialog(this) == DialogResult.OK)
{
// 操作成功后的处理
}
else
{
// 操作失败后的处理
}
}
}

作为例子,这里直接放在构造函数了,当然也可以放到Load事件的处理方法中。

回答3:

....哪有这么复杂

你把第一个窗口的对象做为新窗口的构造函数的参数传进去,在新窗口的构造函数里面调用close就可以了!

比如 Form2 frr=new Form2(this);

public class Form2:Form
{
public Form2(Form1 fr)
{
fr.close();
//或者 fr.hide();
}
}

回答4:

你的表述有错误,但我猜你是在一个Form fr中实例化了一个新Form frr,然后想关闭fr对不对,这样肯定不对的,fr是frr的parent线程
你应该将那部分代码放在主线程类或另外一个静态类中
你把你的问题说详细点

回答5:

软件高手们来赚分!