我有一个登录表单,如果登录正确,则发送给主菜单...主菜单有通向其他表单的按钮。单击按钮时,它会隐藏主菜单并显示其他表单。但问题是,当主菜单隐藏和其他显示时,主菜单会自行重新打开,每次关闭它时,它会再次打开。这让我疯狂。这是代码: -
Public Class mainmenu
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Me.Hide()
Maintenance.Show()
End Sub
Private Sub mainmenu_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
If Login.c1 <> 0 Then
Me.memberbtn.Visible = True
Else
Me.memberbtn.Visible = False
End If
End Sub
Private Sub memberbtn_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles memberbtn.Click
Me.Hide()
Member.Show()
End Sub
End Class
检查点击事件。该程序不会给我任何错误。请帮助。
答案 0 :(得分:0)
您发布了错误的代码。您必须做了一些事情以确保在用户关闭表单时再次显示菜单。这就是导致问题的代码。
让我们制作另一个没有此问题的版本。您需要收听FormClosed事件才能知道菜单需要再次显示。写一个小助手方法来确保这一点:
Private Sub DisplayForm(ByVal frm As Form)
AddHandler frm.FormClosed, AddressOf DisplayMenu
frm.Show()
Me.Hide()
End Sub
Private Sub DisplayMenu(ByVal sender As Object, ByVal e As EventArgs)
Me.Show()
End Sub
按钮的点击事件处理程序现在很简单:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
DisplayForm(New Maintenance())
End Sub
您可以进一步改进DisplayForm方法。您很可能希望将表单的StartPosition属性设置为manual并设置其Location属性,以便表单显示在屏幕上的一致位置。