【问题标题】:Issue with Visual Basic - Me.Hide() or Me.Close()Visual Basic 的问题 - Me.Hide() 或 Me.Close()
【发布时间】:2017-01-11 21:39:36
【问题描述】:

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

我制作了一个非常简单的登录表单。 当密码和用户名正确时,我想关闭密码表单并加载 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 的情况下关闭第一个表单?

【问题讨论】:

  • 我不是在电脑旁,但是 VB.net 确实有一个选项可以在关闭所有表单时关闭程序,而不仅仅是启动表单。查看项目属性。

标签: vb.net visual-studio


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我想建议您重新考虑您的登录概念。打开主表单并在其上显示登录表单。然后默认值会为您工作,即“当启动表单关闭时”。

    这个不错。

    【讨论】:

      【解决方案3】:

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

      关于您的问题 - 请参阅 Idle_Mind 的答案以获得可能的解决方案。

      我想建议您重新考虑您的登录概念。打开主表单并在其上显示登录表单。然后默认值会为您工作,即“当启动表单关闭时”。

      从个人经验来看,这是一种更可扩展的开发模式,因为您可能希望稍后允许一些访客访问您的应用程序,或者允许注销并以不同的帐户登录。

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

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

      【讨论】:

        【解决方案4】:

        你试过了吗:

        Me.Hide
        Unload Me
        

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          猜你喜欢
          • 2011-02-25
          • 1970-01-01
          • 2011-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多