Visual Basic问题 - Me.Hide()或Me.Close()

时间:2013-10-25 14:48:25

标签: vb.net visual-studio

我对此非常陌生,所以我的问题对我来说很简单..

我制作了一个非常简单的登录表单。 当密码和用户名是对的时候,我想关闭密码表格并加载main_form ..

但我不知道该怎么写这个..

到目前为止,当您单击第一个表单中的登录按钮时,我有这个:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    If username.Text = "user" And password.Text = "pass" Then
        Me.Hide()
        dreamware_main.Show()

    Else
        pass.Text = "Wrong user name or password!"
    End If
End Sub

第一次运行项目时效果很好,但第二次,它不会运行项目并且给我错误,我的应用程序仍在运行..

我猜这是因为Me.Hide()只是隐藏了我的login_form,但从未关闭它...这就是为什么它不会第二次运行,

我尝试使用Me.Close(),当我这样做时,它将第二次运行该项目,但这只是关闭我的所有表单,我不希望这样......

如何在不关闭dreamware_main的情况下关闭第一个表单?

5 个答案:

答案 0 :(得分:4)

正如Mark Hall指出的那样,在Project - >属性,将“关闭模式”更改为“当最后一个表单关闭时”: enter image description here

这将允许您关闭()登录表单,而不会导致整个应用程序退出。

答案 1 :(得分:1)

我建议您重新考虑您的登录概念。打开主窗体并在其上显示登录表单。然后默认值适用于您,即“启动表单关闭时”。

这很好。

答案 2 :(得分:0)

实际上,我认为它应该是Me.Hide()然后是Me.Close() - 以涵盖一些布局问题,我不记得这些问题。如果那些没有打扰你,通常是Me.Close()

关于你的问题 - 请参阅Idle_Mind关于可能解决方案的答案。

我建议您重新考虑您的登录概念。打开主窗体并在其上显示登录表单。然后默认值适用于您,即“启动表单关闭时”。

从个人经验来看,它是一种更具扩展性的开发模式,因为您可能希望稍后允许某些访客访问您的应用程序,或允许注销并使用其他帐户登录。

或者,通过单点登录,您将使用Windows帐户进行身份验证,因此无需显示登录表单。

另一方面 - 用户通常喜欢看他们要登录的位置。

答案 3 :(得分:0)

你有没有尝试过:

Me.Hide
Unload Me

答案 4 :(得分:0)

尝试Me.Hide而不是Me.Hide()