这方面我完全是新手,所以我的问题对我来说很简单。
我做了一个非常简单的登录表单。当密码和用户名正确时,我想关闭密码表单并加载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条答案
按热度按时间vjrehmav1#
正如Mark霍尔所指出的,在Project --〉Properties中,将“Shutdown mode”更改为“When last form close”:
这将允许您关闭()登录表单,而不会导致整个应用程序退出。
kulphzqa2#
我想建议你重新考虑一下你的登录概念。打开主窗体并在其上面显示登录窗体。那么默认设置将为你工作,即“当启动窗体关闭”。
这个不错。
dwbf0jvd3#
实际上,我认为应该是
Me.Hide()
,然后是Me.Close()
--以解决一些布局问题,这些问题我不记得了,如果这些问题不困扰你,通常是Me.Close()
。关于你的问题--请看Idle_Mind的答案,以获得可能的解决方案。
我想建议你重新考虑一下你的登录概念。打开主窗体并在其上面显示登录窗体。那么默认设置将为你工作,即"当启动窗体关闭"。
从个人经验来看,这是一种扩展性更强的开发模式,因为您可能希望以后允许一些访客访问您的应用程序,或者允许注销并使用不同的帐户登录。
或者,对于单点登录,您将使用Windows帐户进行身份验证,因此无需显示登录表单。
另一个附带说明-用户通常喜欢看到他们将要登录的位置。
b4wnujal4#
您是否尝试:
js4nwp545#
尝试
Me.Hide
而不是Me.Hide()