2017-11-08 7 views
2

タブのヘッダーを右クリックするとコンテキストメリットが表示されます。タブのヘッダーを検出(右クリック)

enter image description here

しかし、私はタブヘッダーのクリックを検出する方法を見つけることができませんでした。

誰かがそれを行う方法を知っていますか?

+0

これを見て、右クリックのチェックのためにマウスのダブルクリックを切り替えることができるはずです。正常に動作するはずです。 https://stackoverflow.com/questions/25478922/how-to-trigger-event-when-clicking-on-a-selected-tab-page-header-of-a-tab-contro – Jaxi

+1

あなたは'TabControl'の適切なイベントを呼び出し、' TabPage'ごとに 'GetTabRect'を呼び出し、' Rectangle.Contains'を呼び出すことによってマウスポインタが含まれているかどうかを確認します。その後、どのタブが表示されているかを知った適切な場所に 'ContextMenuStrip'を表示します。 – jmcilhinney

+0

ありがとう@jmcilhinneyあなたはあなたのコメントを答えにすることができますか? – tmighty

答えて

2
Private Sub tab1_MouseClick(sender As Object, e As MouseEventArgs) Handles tab1.MouseClick 

    For i As Integer = 0 To Me.tab1.TabPages.Count - 1 
     If Me.tab1.GetTabRect(i).Contains(e.X, e.Y) Then 

      If e.Button = MouseButtons.Right Then 
       'Do some stuff here Me.ctxTabHeader.Show(e.X, e.Y) 
      End If 

     End If 
    Next 

End Sub 
+0

ニースの答え。一番外側のステートメントとしてボタンチェックを入れて、すべてのループではなく一度だけチェックすることをお勧めします。 –

関連する問題