怎样从一个窗口中关闭另一个窗口

linzhifeng 2002-05-14 03:37:43

我从一个窗口中打开了另一个窗口,同时想把第一个窗口关掉,但不知怎么做.
源程序:


class Form1
{
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
}
如果这样,Form1能关闭,但Form2在显示了一下后,也关闭了.
...全文
89 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
colinfly 2002-05-17
  • 打赏
  • 举报
回复
这就是你加的判断了!form2定义一个field
public bool BeUserValidate=false;
当用户通过验证,就置为true,否者置为false。这样不管他是关掉,或是其他么验证的行为,你只要在
Form2 f2=new Form2();
f2.ShowDialog();
之后加上
if(!f2.BeUserValidate){
f2.Close
}

linzhifeng 2002-05-16
  • 打赏
  • 举报
回复
用Load有一个问题,就是如果不输入密码,而是直接关闭对话框,主窗体也会显示
linzhifeng 2002-05-16
  • 打赏
  • 举报
回复
up
hvq 2002-05-15
  • 打赏
  • 举报
回复
做个托盘程序,把主窗体拖起来!
参见:
http://www.yesky.com/20020110/213425.shtml
colinfly 2002-05-15
  • 打赏
  • 举报
回复
在第一窗体的load事件中写
Form2 f2=new Form2();
f2.ShowDialog();
此时Form1不会显示。等Form2显示,被用户关闭以后,才会显示。你可在f2.ShowDialog();之后加条件判断,看是否要向下执行,否者退出就可以了!
powerpower 2002-05-15
  • 打赏
  • 举报
回复
可以,不过我觉得你要是用showDialog做的话会更简便一些
在主窗体的form_load方法中写入
passwordForm.showDialog()
(密码校验的对话框名字)
...其他操作
linzhifeng 2002-05-15
  • 打赏
  • 举报
回复
我的目的是软件启动之后,弹出密码框,输入密码,正确后,弹出主菜单,把Form1.Hidden后,密码框还可显示吗?
Happyboy_zjy 2002-05-14
  • 打赏
  • 举报
回复
因为你第一个是个主窗口,所以你关闭了之后,所有的都关闭了,
你可以用一个折中的办法就是把Form1,Hidden掉,这样也能达到你的要求
saucer 2002-05-14
  • 打赏
  • 举报
回复
you have
Application.Run(new Form1());
right?

when this instance of Form1 is closed, the message loop also exits,so does the application

110,534

社区成员

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

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

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