当前位置:编程学习 > C#/ASP.NET >>

vb.net中怎么关闭现有窗口,然后打开另一个窗口?

我项目的起始窗口是frmlogin,我想在用户登陆了以后,自动关闭frmlogin窗口,打开frmMain窗口。 Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click If txtUsername.Text = "" Or txtPwd.Text = "" Then MsgBox("请输入完整~!", , "确定") Else If CheckLogin.UserLogin(txtUsername.Text, txtPwd.Text) = 0 Then MsgBox("输入信息有误,请验证~!", , "确定") Else UserName = txtUsername.Text Me.Hide() frmMain.Show() End If End If End Sub 我是这样写的,但是关闭frmMain窗口后,虽然看不到frmLogin窗口,程序还在运行。 我又试了me.close() 这样会使整个程序关掉,而不会弹出frmMain 请问怎么办呢?
其他:登陆按钮里写: 
        private void button1_Click(object sender, EventArgs e)
        {
           
            Form2 fo1 = new Form2();
            fo1.Show();
            this.Visible=false;
        }

第2个窗体的关闭事件里写 

private void Form2_FormClosed(object sender, FormClosedEventArgs e) 
{ 
Application.Exit(); 
} 

这样就可以了 

me.dispose(); 这个是释放本对象的资源,,有时候直接把这个对象就清理了,,登陆窗体如果是入口窗体的话,,这么写就等于Application.Exit(); 
直接关整个应用程序了 

插红旗噢 我还去vs里敲了一下 Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click 
If txtUsername.Text = "" Or txtPwd.Text = "" Then 
MsgBox("请输入完整~!", , "确定") 
Else 
If CheckLogin.UserLogin(txtUsername.Text, txtPwd.Text) = 0 Then 
MsgBox("输入信息有误,请验证~!", , "确定") 
Else 
UserName = txtUsername.Text 
Dim newThread As New Thread(AddressOf openFrmMenu)
newThread.Start()
Me.Close()
End If 
End If 

End Sub 

Private Sub openFrmMain()
        Dim frmMain As New frmMain
        frmMain.Show()
End Sub

用新线程打开画面 用close()只关闭当前窗口 

上一个:vb.net 请等待word完成所有待打印作业
下一个:VB.NET编程登录界面删除后运行时又出现的问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,