谁知道c#怎么在关闭一个窗体的同时打开另一个窗体啊?

ace_yong 2011-07-19 02:29:11
谁知道c#怎么在关闭一个窗体的同时打开另一个窗体啊?
...全文
676 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
ace_yong 2011-07-19
  • 打赏
  • 举报
回复
好的 谢谢大家了!
liu447862556 2011-07-19
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 ace_yong 的回复:]
引用 14 楼 liu447862556 的回复:
引用 4 楼 ace_yong 的回复:
就是关掉原来的这个窗体然后打开另一个啊 ,大家的方法我都试了 都不行,都被析构掉了 只能闪一下就没了


可以在Program.cs文件里,添加如下代码:
static void Main()
{
Application.EnableVisualStyles();
Application……
[/Quote]

楼主,你想怎么样?我都有点不明白你的意思了。你想要什么样的效果或功能?
难道你想Application.Exit();整个程序就退出了。还是想释放不用的资源,this.Dispose()?

你可以参看一下这个http://blog.csdn.net/canon787/article/details/2494798
ace_yong 2011-07-19
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 liu447862556 的回复:]
引用 4 楼 ace_yong 的回复:
就是关掉原来的这个窗体然后打开另一个啊 ,大家的方法我都试了 都不行,都被析构掉了 只能闪一下就没了


可以在Program.cs文件里,添加如下代码:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRen……
[/Quote]
这个方法我之前也试了,前一个窗体一样是隐藏的,没关掉
woailihuan2 2011-07-19
  • 打赏
  • 举报
回复
学习!
liu447862556 2011-07-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ace_yong 的回复:]
就是关掉原来的这个窗体然后打开另一个啊 ,大家的方法我都试了 都不行,都被析构掉了 只能闪一下就没了
[/Quote]

可以在Program.cs文件里,添加如下代码:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form2 form2 = new Form2();
form2.ShowDialog();
Application.Run(new Form1());
}

Form2 form2 = new Form2();
form2.ShowDialog();

其中Form1是主窗体。首先,程序运行之后,显示的是Form2,当关闭Form2的后,Form1 即主窗体Form1显示。当显示Form2 的时候,还可以在它上面进行一些操作。如果不关闭Form2,Form1将不会显示。
本人测试通过。

楼主可以试试。
EdsionWang 2011-07-19
  • 打赏
  • 举报
回复
在Programm.cs里面这么写

  LoginForm login = new LoginForm();
            Application.Run(login);
            if (login.DialogResult == DialogResult.OK)
                Application.Run(new MainForm());
LoginForm上的关闭按钮上写

       this.DialogResult = DialogResult.OK;
                                this.Close();
此消息通过 【CSDN论坛 Winform测试版】 回复!
阿尔法狼 2011-07-19
  • 打赏
  • 举报
回复
.Hide()
sdl2005lyx 2011-07-19
  • 打赏
  • 举报
回复
这个问题看似简单,其实并不是那么回事!
如果我们在Colsed事件理处理,我们用是show或showDialog都是不行的,前者“只能闪一下就没了”,后者由于是模式对话框显示,主线程会阻塞在此,第一个窗体根本不会关闭!

解决办法:在Colsed事件函数理,用事件或委托通知主程序,在主程序签约的方法里打开第二个窗体!
木______木 2011-07-19
  • 打赏
  • 举报
回复
在Closing事件里面加。
lijie_255456 2011-07-19
  • 打赏
  • 举报
回复
FormClosed里面写代码即可!
syx151 2011-07-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ace_yong 的回复:]

就是关掉原来的这个窗体然后打开另一个啊 ,大家的方法我都试了 都不行,都被析构掉了 只能闪一下就没了
[/Quote]
都说了,因为你关的那个是主窗体,主窗体是不能关的,只能隐藏,一关的话整个程序就结束了
hasyz 2011-07-19
  • 打赏
  • 举报
回复

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Form1 form1 = new Form1();
form1.Show();
}



如果不是主窗体的话这样就可以了吧
jshzp 2011-07-19
  • 打赏
  • 举报
回复
这个问题不止一次的被问过,甚至连标题都差不多。。。
ace_yong 2011-07-19
  • 打赏
  • 举报
回复
就是关掉原来的这个窗体然后打开另一个啊 ,大家的方法我都试了 都不行,都被析构掉了 只能闪一下就没了
happy20101027 2011-07-19
  • 打赏
  • 举报
回复
最好不要关闭,可以隐藏,然后new一个你想显示的窗体
bdmh 2011-07-19
  • 打赏
  • 举报
回复
在FormClosed事件中,写打开窗体的代码
syx151 2011-07-19
  • 打赏
  • 举报
回复
在closed事件里面打开新窗体啊.
不过你是不是把主窗体都给关了,主窗体关掉的话整个程序就结束了.

110,560

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧