Изменение свойства ToolStripMenuItem Enabled на основе успешного входа - PullRequest
0 голосов
/ 09 ноября 2011

Что я сделал до сих пор.,,

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 в качестве идентификатора пользователя и пароля), отключите элемент меню входа в систему и сделайте элементы меню «Игры», «Платформы», «Рейтинги» и «Выход из системы» видимыми.Когда пользователь выйдет из системы, включите пункт меню входа в систему, скройте пункты меню «Игры», «Платформы», «Рейтинги» и «Выход из системы».Используйте оператор if, чтобы проверить, пытается ли пользователь войти в систему с правильным идентификатором пользователя и паролем (определенными как константы в вашем коде). »

Какой эффективный способ обработки ToolStripMenuItem с очень ограниченным паролемтребования?У вас есть событие щелчка из «Вход в систему», но где бы пользователь технического обслуживания мог легко ввести свой ИД пользователя и пароль?

Ответы [ 2 ]

0 голосов
/ 30 мая 2013

Используйте следующий метод в модуле, и вы можете вызывать его где угодно, когда хотите включить / отключить 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  
0 голосов
/ 10 ноября 2011

Этого кода будет достаточно, пока я продолжу учиться. , .

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
...