我对此非常陌生,所以我的问题对我来说很简单..
我制作了一个非常简单的登录表单。 当密码和用户名是对的时候,我想关闭密码表格并加载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的情况下关闭第一个表单?
答案 0 :(得分:4)
正如Mark Hall指出的那样,在Project - >属性,将“关闭模式”更改为“当最后一个表单关闭时”:
这将允许您关闭()登录表单,而不会导致整个应用程序退出。
答案 1 :(得分:1)
我建议您重新考虑您的登录概念。打开主窗体并在其上显示登录表单。然后默认值适用于您,即“启动表单关闭时”。
这很好。
答案 2 :(得分:0)
实际上,我认为它应该是Me.Hide()
然后是Me.Close()
- 以涵盖一些布局问题,我不记得这些问题。如果那些没有打扰你,通常是Me.Close()
。
关于你的问题 - 请参阅Idle_Mind关于可能解决方案的答案。
我建议您重新考虑您的登录概念。打开主窗体并在其上显示登录表单。然后默认值适用于您,即“启动表单关闭时”。
从个人经验来看,它是一种更具扩展性的开发模式,因为您可能希望稍后允许某些访客访问您的应用程序,或允许注销并使用其他帐户登录。
或者,通过单点登录,您将使用Windows帐户进行身份验证,因此无需显示登录表单。
另一方面 - 用户通常喜欢看他们要登录的位置。
答案 3 :(得分:0)
你有没有尝试过:
Me.Hide
Unload Me
答案 4 :(得分:0)
尝试Me.Hide
而不是Me.Hide()