vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Controls   |   VB-Versionen: VB2005, VB200830.12.08
TabControl: Rechtsklick auf Tab-Reiter erkennen

Eine Funktion, mit der sich prüfen lässt, auf welchen Tab-Reiter ein Mausklick erfolgte

Autor:   Dieter OtterBewertung:  Views:  12.461 
www.tools4vb.deSystem:  Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Klickt der Anwender mit der rechten Maustaste auf einen Tab-Reiter des TabControls wird diese bei linker Maustaste autom. geöffnet. Bei rechter Maustaste hingegen passiert gar nichts. Auch weiß man nicht, auf welchem Tab-Reiter geklickt wurde.

Mit nachfolgender Funktion lässt sich der Tab-Reiter über das MouseDown-Event anhand der übergebenen Maus-Koordinaten ermitteln:

''' <summary>
''' Ermittelt den Tab-Reiter anhand der übergebenen Mauskoordinaten
''' </summary>
''' <param name="TabControl">TabControl-Objekt</param>
''' <param name="location">Mauskoordinaten (Point)</param>
''' <returns>Index des Tab-Reiters beginnend bei 1 
''' oder 0, wenn sich die Koordinaten außerhalb der Tab-Reiter befinden</returns>
Public Function GetTabPageFromXY(ByVal TabControl As TabControl, _
  ByVal location As Point) As Integer
 
  With TabControl1
    For i As Integer = 0 To .TabCount - 1
      ' Prüfen, ob Mausposition innerhalb des Tab-Rechtecks liegt
      If .GetTabRect(i).Contains(location) Then
        Return (i + 1)
      End If
    Next
  End With
 
  ' Defaultwert, wenn die Koordinaten außerhalb der Tab-Reiter liegen
  Return (0)
End Function

Aufrufbeispiel:

Private Sub TabControl1_MouseDown(ByVal sender As Object, _
  ByVal e As System.Windows.Forms.MouseEventArgs) Handles TabControl1.MouseDown
 
  ' Bei Mausklick, Tab-Reiter abfragen
  If e.Button = Windows.Forms.MouseButtons.Right Then
    Dim nTab As Integer = GetTabPageFromXY(TabControl1, e.Location)
    If nTab > 0 Then
      MsgBox("Rechtsklick auf TabPage Nr. " & nTab)
    End If
  End If
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.