0

到目前为止我所做的。. .

Private Sub LogInToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles LogInToolStripMenuItem.Click

    Try
        If (txtAdminUserId.Text <> "admin" AndAlso txtMaintenacePassword.Text <> "1234") Then
            MessageBox.Show("Please enter the correct UserID and also verify your Pasword. ", "UserID and Password Error")
            txtAdminUserId.Select()
            txtAdminUserId.Focus()
            Return
        Else
            txtAdminUserId.Clear()
            txtMaintenacePassword.Clear()
            Dim frmGameMaintenanceX As New frmGameMaintenance() 'declare game order form
            Me.Visible = False
            frmGameMaintenanceX.Show() 'switch to order movie form
        End If
    Catch ex As Exception
        MessageBox.Show(ex.Message, "Caught General Error") ' last attempt to catch an exception

    End Try
End Sub

根据我的讲师对 ToolStripMenuItem 的要求,逐字逐句如下:

“添加带有登录(启用)作为菜单项的维护菜单。当用户成功登录时(使用 admin 和 1234 作为用户 ID 和密码),禁用登录菜单项并使菜单项 Games、Platforms、Ratings 和 Log-out 可见。当用户注销时,启用登录菜单项,隐藏游戏、平台、评分和注销菜单项。” 让我们保持简单。使用 if 语句测试用户是否尝试使用正确的用户 ID 和密码(在代码中定义为常量)登录。”</p>

什么是处理 ToolStripMenuItem 密码要求非常有限的有效方法?你有来自“登录”的点击事件,但是维护用户会在哪里顺利输入他的用户名和密码?

4

2 回答 2

0

在模块中使用以下方法,当您想要启用/禁用 ToolStripMenuItems 时,您可以在任何地方调用它

Public Sub SetAllMenuItems(ByRef menuStrip As MenuStrip, ByVal enable As Boolean)
        Dim c As ToolStripItem
        Dim t As ToolStripMenuItem
        For Each c In menuStrip.Items
            c.Enabled = enable
            If c.GetType Is GetType(ToolStripMenuItem) Then
                t = c
                SetAllMenuItems(t.DropDownItems, enable)
            End If
        Next
End Sub
Public Sub SetAllMenuItems(ByRef menus As ToolStripItemCollection, ByVal enable As Boolean)
        Dim c As ToolStripItem
        Dim t As ToolStripMenuItem
        For Each c In menus
            c.Enabled = enable
            If c.GetType Is GetType(ToolStripMenuItem) Then
                t = c
                SetAllMenuItems(t.DropDownItems, enable)
            End If
        Next
End Sub  
于 2013-05-30T07:30:22.777 回答
-1

当我继续学习时,这段代码就足够了。. .

Private Sub LogInToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles LogInToolStripMenuItem.Click
    Try
        If (txtAdminUserId.Text <> cstUsrId OrElse txtMaintenacePassword.Text <> cstPsswrd OrElse txtAdminUserId.Text.Length <> 5 OrElse txtMaintenacePassword.Text.Length <> 4) Then
            MessageBox.Show("Please enter the correct UserID and also verify your Pasword. ", "UserID and Password Error")
            txtAdminUserId.Select()
            txtAdminUserId.Focus()
            Return
        Else
            txtAdminUserId.Clear()
            txtMaintenacePassword.Clear()
            LogInToolStripMenuItem.Visible = False
            LogOutToolStripMenuItem.Visible = True
            LogOutToolStripMenuItem.Visible = True
            GameToolStripMenuItem.Visible = True
            GamesToolStripMenuItem.Visible = True
            PlatformToolStripMenuItem.Visible = True
            RatingsToolStripMenuItem.Visible = True
            LogInToolStripMenuItem.Enabled = False
            LogOutToolStripMenuItem.Enabled = True
            LogOutToolStripMenuItem.Enabled = True
            GameToolStripMenuItem.Enabled = True
            GamesToolStripMenuItem.Enabled = True
            PlatformToolStripMenuItem.Enabled = True
            RatingsToolStripMenuItem.Enabled = True
        End If
    Catch ex As Exception
        MessageBox.Show(ex.Message, "Caught General Error") ' last attempt to catch an exception
    End Try
End Sub
于 2011-11-10T15:56:22.067 回答