1

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

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

4

5 回答 5

4

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

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

于 2013-10-25T15:42:56.750 回答
1

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

这是一个不错的。

于 2013-12-15T01:46:37.467 回答
0

你试过了吗:

Me.Hide
Unload Me
于 2014-04-10T00:37:15.780 回答
0

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

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

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

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

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

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

于 2013-10-25T15:57:12.980 回答
-1

尝试Me.Hide代替Me.Hide()

于 2017-01-11T13:38:45.203 回答