代码之家  ›  专栏  ›  技术社区  ›  Tom

在vb.net中取消TabControl选项卡选择

  •  4
  • Tom  · 技术社区  · 15 年前

    我真的在这里绞尽脑汁,我确信这是我所缺少的简单的东西。

    基本上我有一个有两个选项卡的表单。我检查每个选项卡上的控件,看看它们是否脏,如果当前选项卡上有更改,我想阻止用户单击选项卡。

    我曾经想过,如果我检查脏的变量,并将选项卡索引设置为一个没有被选中的变量,我会很好,但每次我编程设置选项卡的属性时,它都会触发一系列选项卡的事件,这些事件只会产生不希望出现的结果,如显示了正确的控件集,但选择了错误的选项卡。

    这是代码,尽我所能让它工作。

    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
    

    事先谢谢。

    1 回复  |  直到 14 年前
        1
  •  7
  •   Andrew Hare    15 年前

    尝试使用 Selecting 事件而不是 Selected 事件-这将使您有机会覆盖用户的行为(即设置 TabControlCancelEventArgs.Cancel True )

    推荐文章