Vb.net Visual Basic-Me.Hide()或Me.Close()出现问题

Vb.net Visual Basic-Me.Hide()或Me.Close()出现问题,vb.net,visual-studio,Vb.net,Visual Studio,我对这一点一无所知,所以我的问题对我来说很简单 我做了一个非常简单的登录表单。 当密码和用户名正确时,我想关闭密码表单并加载主表单 但是我不知道怎么写这个 到目前为止,当您单击第一个表单中的“登录”按钮时,我看到了这一点: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If username.Text = "user" And password.Text = "pass"

我对这一点一无所知,所以我的问题对我来说很简单

我做了一个非常简单的登录表单。 当密码和用户名正确时,我想关闭密码表单并加载主表单

但是我不知道怎么写这个

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

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
它在我第一次运行项目时工作得很好,但第二次,它不会运行项目,并给我一个错误,即我的应用程序仍在运行

我猜这是因为我。Hide()只隐藏了我的登录表单,但从未关闭它。。。这就是为什么它不会运行第二次

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


如何在不关闭dreamware_main的情况下关闭第一个窗体?

正如Mark Hall指出的,在Project-->属性中,将“关闭模式”更改为“最后一个窗体关闭时”:


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

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


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

事实上,我认为应该是
Me.Hide()
,然后是
Me.Close()
——来解决一些布局问题,我记不得了。如果这些都不困扰您,通常是
Me.Close()

关于你的问题,请参阅Idle_Mind的答案以获得可能的解决方案


我想建议您重新考虑您的登录概念。打开主窗体并在其顶部显示登录窗体。然后默认设置对您有效,即“启动窗体关闭时”

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

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


另一个旁注-用户通常喜欢查看他们将要登录的位置。

事实上,我认为应该是
Me.Hide()
,然后是
Me.Close()
——来解决一些布局问题,我不记得这些问题。如果这些都不困扰您,通常是
Me.Close()

关于你的问题,请参阅Idle_Mind的答案以获得可能的解决方案


我想建议您重新考虑您的登录概念。打开主窗体并在其顶部显示登录窗体。然后默认设置对您有效,即“启动窗体关闭时”

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

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


另一个注意事项-用户通常喜欢查看他们将要登录的位置。

我建议您重新考虑您的登录概念。打开主窗体并在其顶部显示登录窗体。然后默认设置对您有效,即“启动窗体关闭时”


这个不错

我建议您重新考虑登录概念。打开主窗体并在其顶部显示登录窗体。然后默认设置对您有效,即“启动窗体关闭时”

这个不错

您是否尝试过:

Me.Hide
Unload Me
您是否尝试过:

Me.Hide
Unload Me

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

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

我不是由计算机操作的,但是VB.net确实有一个选项,可以在关闭所有表单时关闭程序,而不仅仅是启动表单。查看项目属性。我不是被计算机控制的,但是VB.net有一个选项,可以在关闭所有表单时关闭程序,而不仅仅是启动表单。查看项目属性。@felipsmartins纯代码答案可能不是一个好答案,但它仍然是一个答案。我向你推荐这篇关于LQPRQ的帖子:@felipsmartins一个只有代码的答案可能不是一个好答案,但它仍然是一个答案。我向您推荐这篇关于LQPRQ的帖子: