vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Controls · ListBox & ComboBox   |   VB-Versionen: VB2005, VB200819.02.09
Eintrag in der ListBox beim Rechtsklick selektieren

Dieser Tipp zeigt, wie sich der Eintrag in der ListBox auch beim Rechtsklick selektieren lässt, um bspw. ein PopUp-Menü anzuzeigen.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  16.591 
www.tools4vb.deSystem:  Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Haben Sie sich auch schon oft darüber geärgert, daß in Listenfelder beim Drücken der rechten Maustaste nicht automatisch der Eintrag unter dem Mauszeiger selektiert wird? Vor allem dann, wenn beim Drücken der rechten Maustaste ein PopUp-Menü mit bestimmten Befehlen angezeigt wird. So muß man immer den entsprechenden Eintrag zunächst durch Klicken mit der linken Maustaste selektieren, um dann über die rechte Maustaste das PopUp-Menü zu öffnen.

Es geht aber auch einfacher. Der nachfolgende Tipp zeigt, wie beim Klicken der rechten Maustaste automatisch der Eintrag, auf welchem sich der Mauszeiger gerade befindet, selektiert wird.

Private Sub ListBox1_MouseDown(ByVal sender As Object, _
  ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
 
  If e.Button = Windows.Forms.MouseButtons.Right Then
    With CType(sender, ListBox)
      ' ListIndex anhand der Mausposition ermitteln
      Dim p As Point = .PointToClient(Cursor.Position)
      Dim index As Integer = .IndexFromPoint(p)
      If index >= 0 Then
        ' Eintrag selektieren
        .SelectedIndex = index
 
        ' Hier den Befehl zum Anzeigen eines PopUp-Menüs
        ...
      End If
    End With
  End If
End Sub