如何解决防止用户在标签页之间导航
我创建了一个 tabControl 和 TABpages,我想阻止用户在它们之间导航。我还希望菜单可见,并且用户从 tabcontrol 中选择它时无法访问标签页。
我尝试使用删除和添加,但在这种情况下,菜单消失,只有我所在的选项卡出现。我尝试将 enabled 属性设置为 false,在这种情况下,用户可以访问标签页,但没有出现任何我不想发生的情况。
我尝试了带有 tabcontrol_selecting 事件的 e.cancel 并且它起作用并且其他标签被锁定,但是当我尝试使用代码在标签页之间导航时它不起作用。其实在第一页上有一个登录界面,当参数正确时,应该会带我到第二个标签页,但没有发生这种情况。
我想知道我做错了什么。
Private Sub Enter_Click(sender As Object,e As EventArgs) Handles Enter.Click
If Usersel.Selectedindex = 0 And Password.Text = "0000" Then
TabControl.Selectedindex = 1
End If
这是选择事件
Private Sub TabControl_Selecting(sender As Object,e As TabControlCancelEventArgs) Handles TabControl.Selecting,TabControl.SelectedindexChanged
e.Cancel = False
Dim messageBoxVB As New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}","TabPage",e.TabPage)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}","TabPageIndex",e.TabPageIndex)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}","Action",e.Action)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}","Cancel",e.Cancel)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(),"Selecting Event")
End Sub
这是菜单,我希望它一直是这样:
解决方法
看看下面的代码:
Private isCanceled As Boolean = True
Private Sub Enter_Click(sender As Object,e As EventArgs) Handles Enter.Click
If TabControl1.SelectedIndex = 0 And Password.Text = "0000" Then
isCanceled = False
TabControl1.SelectedIndex = 1
End If
End Sub
Private Sub TabControl1_Selecting(sender As Object,e As TabControlCancelEventArgs) Handles TabControl1.Selecting
If e.TabPage.Equals(TabPage2) Then
e.Cancel = isCanceled
End If
End Sub
只有 TabControl1.SelectedIndex = 0 和 Password.Text = "0000",你才能导航到 TabPage2。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。