真的让我的大脑陷入困境,我确信这很简单,我很想念. 基本上我有一个带有两个标签的表单.我正在检查每个选项卡上的控件,看它们是否脏,并且如果当前选项卡上有更改,则希望阻止用户
基本上我有一个带有两个标签的表单.我正在检查每个选项卡上的控件,看它们是否脏,并且如果当前选项卡上有更改,则希望阻止用户单击选项卡.
我曾经想过,如果我检查脏变量并将选项卡索引设置为未被选中的那个我就没事了但是每次我以编程方式设置选项卡的属性时,它会触发一大堆选项卡的事件产生不希望的结果,例如显示正确的控制集但选择了错误的选项卡.
这是我尽可能接近它的代码.
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
提前致谢.
尝试使用Selecting
事件而不是Selected事件 – 这将使您有机会覆盖用户的行为(即将TabControlCancelEventArgs.Cancel设置为True).