Visual Studio Visual Basic问题-我隐藏()或我关闭()

pjngdqdw  于 2023-01-21  发布在  其他
关注(0)|答案(5)|浏览(161)

这方面我完全是新手,所以我的问题对我来说很简单。
我做了一个非常简单的登录表单。当密码和用户名正确时,我想关闭密码表单并加载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的情况下关闭第一个窗体?

vjrehmav

vjrehmav1#

正如Mark霍尔所指出的,在Project --〉Properties中,将“Shutdown mode”更改为“When last form close”:

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

kulphzqa

kulphzqa2#

我想建议你重新考虑一下你的登录概念。打开主窗体并在其上面显示登录窗体。那么默认设置将为你工作,即“当启动窗体关闭”。
这个不错。

dwbf0jvd

dwbf0jvd3#

实际上,我认为应该是Me.Hide(),然后是Me.Close()--以解决一些布局问题,这些问题我不记得了,如果这些问题不困扰你,通常是Me.Close()
关于你的问题--请看Idle_Mind的答案,以获得可能的解决方案。
我想建议你重新考虑一下你的登录概念。打开主窗体并在其上面显示登录窗体。那么默认设置将为你工作,即"当启动窗体关闭"。
从个人经验来看,这是一种扩展性更强的开发模式,因为您可能希望以后允许一些访客访问您的应用程序,或者允许注销并使用不同的帐户登录。
或者,对于单点登录,您将使用Windows帐户进行身份验证,因此无需显示登录表单。
另一个附带说明-用户通常喜欢看到他们将要登录的位置。

b4wnujal

b4wnujal4#

您是否尝试:

Me.Hide
Unload Me
js4nwp54

js4nwp545#

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

相关问题