问一个小问题:怎样在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