基于成功登录更改ToolStripMenuItem启用的属性

时间:2011-11-08 20:09:46

标签: vb.net passwords userid

到目前为止我做了什么。 。 。

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和密码)时,禁用登录菜单项并使菜单项游戏,平台,评级和注销可见。当用户注销时,启用登录菜单项,隐藏游戏,平台,评级和注销菜单项。“   让我们保持简单。使用if语句测试用户是否尝试使用正确的用户标识和密码(在代码中定义为常量)登录。“

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

2 个答案:

答案 0 :(得分: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  

答案 1 :(得分:-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