MouseClick
この目的により適した別のイベントがあるため、イベントを使用しないでください:
(注: OP がコメントを投稿した後に編集されました。)
TabControl
プロパティSelectedIndex
を持っています。これは、現在選択されているタブの 0 から始まる番号です。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
(たとえば、 が無効な値を持つ場合に対して、コードをさらに保護したい場合があることに注意してください。)SelectedIndex
-1
編集(OPのコメントの後に追加):
SelectedIndexChanged
すべてのマウス ボタンに対するユーザーのアクションをキャッチする必要があるためにうまくいかない場合は、次のようなGetTabRect
方法を使用できます。TabControl
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