代码之家  ›  专栏  ›  技术社区  ›  Jimmie Lin

在TabControl MouseClick事件上单击了哪个选项卡

  •  7
  • Jimmie Lin  · 技术社区  · 15 年前

    我正在学习如何使用Visual Basic Express 2008开发Windows窗体应用程序,我的测试/学习应用程序有一个带有几个测试页的TabControl(3,例如,数字在这里不相关)。

    现在,我正在处理TabControl上的mouselick事件,我似乎无法确定如何获得单击的选项卡。 我相信,如果我单击标签条的另一个位置,鼠标单击事件不会被激发,因此必须单击一个标签。问题是,哪个是标签?

    任何帮助都将不胜感激。谢谢!

    2 回复  |  直到 9 年前
        1
  •  14
  •   stakx - no longer contributing Saravana Kumar    15 年前

    MouseClick

    TabControl SelectedIndex SelectedTab

    SelectedIndexChanged

    Private Sub MyTabControl_SelectedIndexChanged(ByVal sender As Object, _
                                                  ByVal e As System.EventArgs) _
                Handles MyTabControl.SelectedIndexChanged
    
        Dim indexOfSelectedTab As Integer = MyTabControl.SelectedIndex
        Dim selectedTab As System.Windows.Forms.TabPage = MyTabControl.SelectedTab
    
        ...
    
    End Sub
    

    -1

    GetTabRect

    Private Sub MyTabControl_MouseClick(sender As Object, _
                                        e As System.Windows.Forms.MouseEventArgs) _
                Handles MyTabControl.MouseClick
    
        ...
    
        For tabIndex As Integer = 0 To MyTabControl.TabCount - 1
            If MyTabControl.GetTabRect(tabIndex).Contains(e.Location) Then
               ...  ' clicked on tab with index tabIndex '
            End If
        Next
    
        ...
    
    End Sub
    
        2
  •  2
  •   Thurman Jenner    9 年前

    Private Sub TabPage1_Enter(sender As System.Object, e As System.EventArgs) Handles TabPage1.Enter
        DataGridView1.Visible = True
        Load_Table()
    End Sub
    
    Private Sub TabPage1_Leave(sender As System.Object, e As System.EventArgs) Handles TabPage1.Leave
        DataGridView1.Visible = False
    End Sub