这里真的让我的大脑陷入困境,我确信这很简单,我很遗憾。
基本上我有一个带有两个标签的表单。我正在检查每个选项卡上的控件,看看它们是否脏,并且如果当前选项卡上有更改,则要阻止用户单击选项卡。
我曾经想过如果我检查脏变量并将选项卡索引设置为未选中的那个我就没事了但是每次我以编程方式设置选项卡的属性时,都会触发一大堆选项卡正在显示只产生不良结果的事件,例如正确的控制集,但选择了错误的选项卡。
以下代码与我开始工作的时间尽可能接近。
Private Sub objTabs_Selected(ByVal sender As Object, ByVal e As System.Windows.Forms.TabControlEventArgs) Handles objTabs.Selected
If bIsDirty Then
If Me.objTabs.SelectedIndex = 1 Then
Me.objTabs.SelectedTab = tabLetterofCreditBanks
Me.objTabs.SelectTab(0)
Else
Me.objTabs.SelectedTab = tabWireTransferBanks
Me.objTabs.SelectTab(1)
End If
End If
End Sub
提前致谢。
答案 0 :(得分:7)
尝试使用Selecting
事件代替Selected
事件 - 这将使您有机会覆盖用户的行为(即将TabControlCancelEventArgs.Cancel
设置为True
)。< / p>