C#中关闭第一个Form窗口,打开另一个新窗口方法.doc

C#中关闭第一个Form窗口,打开另一个新窗口方法.doc

ID:49689200

大小:20.30 KB

页数:5页

时间:2020-03-03

C#中关闭第一个Form窗口,打开另一个新窗口方法.doc_第1页
C#中关闭第一个Form窗口,打开另一个新窗口方法.doc_第2页
C#中关闭第一个Form窗口,打开另一个新窗口方法.doc_第3页
C#中关闭第一个Form窗口,打开另一个新窗口方法.doc_第4页
C#中关闭第一个Form窗口,打开另一个新窗口方法.doc_第5页
资源描述:

《C#中关闭第一个Form窗口,打开另一个新窗口方法.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、C#中关闭第一个Form窗口,打开另一个新窗口方法很多同学问怎么关闭一个FORM打开另一个新Form。这个问题最多的是在做登录验证时,使用第一个登录窗登录成功后要关闭自己,然后打开新窗显示。没想到这个问题在.Net还成了问题,不过依然有很多方法解决。典型的Form1f=newForm1();f.Show();this.Close();最后的关闭时把整个程序都关闭了1隐藏法,原理就是把旧窗口隐藏掉,再打开新窗口。//新建一个NewForm窗口(NewForm是自己定义的Form)NewFormfm=newNewForm()this

2、.Hide();//隐藏现在这个窗口fm.Show();//新窗口显现这种方法旧的窗口依旧会占内存,因此如果用来做登陆窗口不太好,但是如果旧窗口是以后还需要恢复的主窗口,这个方法便很不错,因为以后可以关掉新窗口,再用旧窗口.Show()就可以恢复旧窗口了。所以这个方法适合在主窗口和子窗口间传递信息。2、再来便是为登录窗口设计的方法了。在Program.cs里这样定义:staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRen

3、deringDefault(false);//新建Login窗口(Login是自己定义的Form)LoginLog=newLogin();//使用模式对话框方法显示LogLog.ShowDialog();//DialogResult就是用来判断是否返回父窗体的if(Log.DialogResult==DialogResult.OK){//在线程中打开主窗体Application.Run(newMain());}}在登陆窗口中验证结束后要赋值Log.DialogResult=DialogResult.OK。登录窗口完成任务后会被直

4、接关掉,主窗口就打开了网上大多都是前面2种方法,另外还看到一个方法用线程的方法方法,未验证3开新线程publicstaticvoidThreadProc(){Application.Run(newForm());}privatevoidbutton1_Click(objectsender,EventArgse){System.Threading.Threadt=newSystem.Threading.Thread(newSystem.Threading.ThreadStart(ThreadProc));t.Start();}C#

5、编程时,经常会遇到处理两个或多个窗口的问题。以登录窗口为例,当登录窗口登录验证成功后,要进入主窗口,此时需要关闭登录窗口,这时候用this.close()是不可以的。因为Program.cs中staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1());}Main函数是程序的入口点,当你在Form1中调用this.close()的时

6、候,Application.Run(newForm1())中Form1就会结束,也就是说整个程序结束了,此时主窗口也会相应的关闭,这不是我们想看到的。下面有两种方法来只关闭登录窗口,而主窗口仍然运行。4.先隐藏登录窗口,然后在主窗口关闭后将登录窗口关闭这种方法只是把登录窗口隐藏了,主程序还在运行。实现方法为:登录窗口代码:if(user.CheckIn()){MainFormmyform=newMainForm(this);//调用带参的构造函数myform.Show();this.Hide();}else{MessageBox

7、.Show("用户名或密码错误");}登录成功后,通过构造函数传入登录窗口的参数到主窗口,这样在主窗口里可以直接对登录窗口操作Form1loginform=null;//在主窗口添加带参的构造函数publicMainForm(Form1myform){this.loginform=myform;InitializeComponent();}主窗口关闭后,关闭登录窗口privatevoidMainForm_FormClosed(objectsender,FormClosedEventArgse){loginform.Close()

8、;}5.将主窗口程序设为主运行程序,修改Program.csApplication.Run(newMainForm());这样系统启动时,运行的是主窗口程序。然后在主窗口加载时去调用登录窗口就可以了。privatevoidMainForm_Load(object

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。