I drag Tabcontrol.& add two tab pages.

I have contextmenu Strip, dat i bound to tabcontrol.I select the ContextMenuStrip & set it to ContextMenuStrip1

Now i right click on tab headers.Suppose i right click on tabpage1,contextmenu is displayed.I want that when i right click on tabpage..I want to get the index of that tab..Even if dat tab page is selected.


Private Sub TabControl1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabControl1.MouseClick
        Catch ex As Exception
        End Try
    End Sub

Above event gives me the index,when i select the tab.
Plz help me out.

Here is the C# code, you should be able to port this to VB fairly easy:

private void tabControl1_MouseClick(object sender, MouseEventArgs e)
      int tabIndex = GetTabIndex(e.Location);
      if (tabIndex != -1)
        MessageBox.Show("You clicked on tab " + tabIndex.ToString("F0"));
    private int GetTabIndex(Point p)
      int result = -1;
      for (int i1 = 0; i1 < tabControl1.TabCount; i1++)
        if (tabControl1.GetTabRect(i1).Contains(p))
          return i1;
      return result;

hi frnd,I do little modification & it worked.Thx.

Public Class Form1

    Private Sub TabControl1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabControl1.MouseUp
        If e.Button = Windows.Forms.MouseButtons.Right Then
        End If
    End Sub

    Private Sub DisplayClickedTab(ByVal clickPoint As Point)
        For i As Integer = 0 To TabControl1.TabPages.Count - 1
            If TabControl1.GetTabRect(i).Contains(clickPoint) Then
                Text = TabControl1.TabPages(i).Name
            End If
    End Sub

End Class