首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

问一个小疑点:怎样在form2关掉form1

2012-01-30 
问一个小问题:怎样在form2关掉form1?form1是登陆窗口用户名、密码输入正确以后弹出主界面form2这时form1还

问一个小问题:怎样在form2关掉form1?
form1是登陆窗口           用户名、密码输入正确以后       弹出主界面form2      
这时form1还在,怎么样才能关掉form1呢?  

VB。net   好像不能像vb一样       在form2里面写   form1.close   这样form2也一起消失了


请高手指点迷津,谢谢!

回帖者请写出实现代码     再谢!

[解决办法]
'以下放在模块中

'主程序主引导入口
Public Sub Main()

Dim Frm_Main As New AL_Form.Form_Main '主窗体
Dim Frm_Login As New AL_Form.Form_Login '登录窗体
If (Frm_Login.ShowDialog() = DialogResult.OK) Then Application.Run(Frm_Main)

End Sub


'在Frm_Login窗体的确定按钮中验证登录
'在确认按钮事件中
If LoginCHK=True Then Me.DialogResult = DialogResult.OK
[解决办法]
1.创建一个项目
2.修改项目属性(不是程序集属性哦),修改 "应用程序类型为 " "windows 服务 ",这样才可以从Sub Main启动程序
3.添加一个模块到项目中,并写下面的代码:
Module Module1
Public frmNext As Form
Private frmCurrent As Form
Public Sub main()
frmNext = New Form1
While (Not frmNext Is Nothing)
frmCurrent = frmNext
frmNext = Nothing
Application.Run(frmCurrent)
frmCurrent.Dispose()
End While
End Sub
End Module
4.所有的窗口,如果要打开新的窗口,例如Form1中,要打开Form2,就用下面代码:
Module1.frmNext = New Form2()
Me.Close()
5.直接退出程序的话,就没什么不同了.一样.
[解决办法]
上面几位说的对,做个模块,用Sub Main做启动
From1_Load时将Flag置为Ture
Flag为真时,就可以在Form1中用Form1.Close
Module Module1
Public Flag As Boolean
Public Sub main()
Dim FrmNew1 As New Form1
Dim FrmNew2 As New Form2
FrmNew1.ShowDialog()
If Flag Then
FrmNew.ShowDialog()
End If
End Sub
End Module

热点排行