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

小弟有事相求了,怎么在C#中实现打开一个新窗口的同时关闭原来旧窗口
我用Form1 frr=new Form();
frr.Close();
关不了;
请高手指教
我们做的是一个登录sql的程序,输入服务器名,数据库名,登录帐号,密码后如果连接成功,则进入下一个窗口,然后刚才的窗口关闭,
"fr是frr的parent线程
你应该将那部分代码放在主线程类或另外一个静态类中 "是什么意思,能说详细点吗,谢谢了
3楼大哥的用fr.Close();没作用,因为main()在Form1里,用fr.Close()那么程序就关了

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

然后在函数里把参数给F1;
F1 = f1;
然后你就可以写登陆了 如果登陆成功 F1.Show(); 关闭Form2 this.Close();
这样就可以 很简单的
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-09-20
假设关闭form1的同时打开form2,直接上代码:

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

作为例子,这里直接放在构造函数了,当然也可以放到Load事件的处理方法中。
第2个回答  2006-09-06
....哪有这么复杂

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

比如 Form2 frr=new Form2(this);

public class Form2:Form
{
public Form2(Form1 fr)
{
fr.close();
//或者 fr.hide();
}
}
第3个回答  2006-09-04
你的表述有错误,但我猜你是在一个Form fr中实例化了一个新Form frr,然后想关闭fr对不对,这样肯定不对的,fr是frr的parent线程
你应该将那部分代码放在主线程类或另外一个静态类中
你把你的问题说详细点
第4个回答  2006-09-04
软件高手们来赚分!

怎么在C#中实现打开一个新窗口的同时关闭原来旧窗口
所以你在启动第一个窗提的时候就把窗体隐藏 隐藏后 你启动第二个窗体 在第2个窗体里 写:Form1 F1;在第二个窗体里的构造函数里加参数 Form1 f1然后在函数里把参数给F1;F1 = f1;然后你就可以写登陆了 如果登陆成功 F1.Show(); 关闭Form2 this.Close();这样就可以 很简单的 本回答被提问者和网友采纳 ...

C# 如何打开一个新窗体后,关闭上一个窗体?
定义一个数组存放打开窗体的Name,在打开窗体的时候将数组中最后一个Name取出,在查找出对应的对象,关闭掉。在将要打开的窗体打开,将Name放到数组里面。

visual C#中如何在打开另一个窗口的同时关闭之前窗口
{ Application.Run(new Form2());} 然后在Form1的关闭的相关控件(或按钮或什么的,是你要关闭这个窗口的控件) 将hh赋值为false 第一个窗口(Form1)还没完: 在From1的FormClosing事件(关闭窗口时运行的事件)中(双击这个事件编写代码)判断bool变量hh的值:if(hh == true){ Application.Exit...

C#GUI编程时怎样操作一个窗口去关闭另一个窗口
public ShiFeiResolution.FruitForm fruitForm = new FruitForm();这样可在主窗体中直接应运。3)如果是多个主窗体与一个副窗体之间传递信息,比如说点击任何一个主窗体中的按纽,就会弹出同一个副窗体(是同一个,而不是同样的窗体),就要在主窗体中这样写:GetSoilInfo getinfo; \/\/相当于一个t...

c# .net winform 怎么实现在打开一个新窗体时,隐藏就窗体;关闭新窗体时...
在Form1中,点击button1,显示Form2 private void button1_Click(object sender, EventArgs e){\/\/隐藏当前窗口this.Visible = false;Form2 f2 = new Form2();\/\/显示Form2f2.ShowDialog(); \/\/显示当前窗口 this.Visible = true;}

...窗口如何实现打开一个新窗口的同时隐藏原来旧窗口?
只要添代码就好,比如原来的是FORM1,新的FORM2,BUTTON的CLICK属性里添加代码:FROM1.HIDE();FROM2.SHOW();前提是你添加过新窗口FROM2

C#两个窗口打开另一个以后,前一个如何关闭
Click函数体的最后一句写上 this.Close();其次,你要在弹出form2后关掉自己。这需要将form2定义在form1外。你可以在Program中生成form2的变量,但是不弹出来。在button1_Click中,使用form2.Show()显示。如果必须将form2放在form1里的话,form1就不能够完全关闭。只能用this.Hide()进行隐藏。

C#.NET中怎样打开一个新Form,同时关闭当前Form?
因为此时 F2的实例是属于F1的 可以这样做 修改 Program.cs 文件的 Main 方法 static void Main(){ Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());Form2 frm = new Form2();frm.ShowDialog();} 如果通过验证,那么就关闭窗体1,窗体...

[C#] 一个窗口中打开另一个窗口并关闭当前窗口代码
this);f2.Show();} form2代码 private Form1 f1;public Form2(Form1 f){ InitializeComponent();f1 = f;f1.Hide();} private void Form2_FormClosing(object sender, FormClosingEventArgs e){ f1.Close();} 直接关闭的方法我没有实现,还是通过隐藏,在最后同时关闭销毁两个form实现 ...

C#打开另一窗口关闭当前窗口的问题
从而关闭整个程序。那如果登陆画面中用户名密码验证不正确呢?那当然是弹出对话框提示用户输入正确的密码,而不用设置this.DialogResult的值了。举个简单的例子吧。假设,登录的窗体叫做LoginForm,登录成功后的窗体叫做MainForm。那么我会这么做,先把MainForm设为程序启动窗体,在program.cs文件里改一下。

相似回答