none
Pfad eines unselected Lisbox-Elementes beim Moushover ermitteln RRS feed

  • Frage

  • Hallo,

    in meinem Programm habe ich u.a. eine Listbox die den Inhalt des aktuell ausgewählten Verzeichnisses anzeigt.
    Damit der Inhalt nicht zu groß wird, wird nur der Dateiname angezeigt.
    Gelegentlich gibt es von einer Datei dann identische Einträge weil diese sowohl als PDF und als DOC-Datei vorhanden sind.
    Ich habe nun das Programm so geändert, dass:

    1. der vollständige Dateiname mit Pfad in einem ToolStripLabel angezeigt wird
    2. Wenn sich der SelectetIndex ändert die Extension als ToolTip angezeigt wird

     

     

    'Anzeige der Extension als TooltipDim DateiTyp As String = IstDateiliste.SelectedItem.ToString()Dim InfoDateiTyp As New ToolTipInfoDateiTyp.SetToolTip(IstNamensListe, (Path.GetExtension(DateiTyp)))


    Nun möchte ich noch erreichen, dass die Extension dann angezeigt wird, wenn ich mich mit dem Mauszeiger über einen Eintrag der Listbox  bewege ohne dass der Eintrag selbst verändert wird.

    Geht das? Une wenn ja wie?

     

     


    Liebe Grüße Stefan
    Freitag, 16. April 2010 20:06

Antworten

  • Hallo Stefan,

    den Index des Eintrags an der aktuellen Mauszeigerposition kannst Du über die ItemFromPoint Methode des ListBox Objekts herausfinden:

    Public Class Form1
    
     Private Sub ListBox1_MouseMove(ByVal sender As Object, _
                     ByVal e As System.Windows.Forms.MouseEventArgs _
                        ) Handles ListBox1.MouseMove
    
      Dim lIndex As Integer = ListBox1.IndexFromPoint(e.Location)
    
      If lIndex >= 0 Then
       ToolStripStatusLabel1.Text = ListBox1.Items(lIndex).ToString
      Else
       ToolStripStatusLabel1.Text = ""
      End If
     End Sub
    End Class


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    • Als Antwort markiert Giftzwockel Freitag, 16. April 2010 21:18
    Freitag, 16. April 2010 20:52
    Moderator

Alle Antworten

  • Hallo Stefan,

    den Index des Eintrags an der aktuellen Mauszeigerposition kannst Du über die ItemFromPoint Methode des ListBox Objekts herausfinden:

    Public Class Form1
    
     Private Sub ListBox1_MouseMove(ByVal sender As Object, _
                     ByVal e As System.Windows.Forms.MouseEventArgs _
                        ) Handles ListBox1.MouseMove
    
      Dim lIndex As Integer = ListBox1.IndexFromPoint(e.Location)
    
      If lIndex >= 0 Then
       ToolStripStatusLabel1.Text = ListBox1.Items(lIndex).ToString
      Else
       ToolStripStatusLabel1.Text = ""
      End If
     End Sub
    End Class


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    • Als Antwort markiert Giftzwockel Freitag, 16. April 2010 21:18
    Freitag, 16. April 2010 20:52
    Moderator
  • Hallo Thorsten,

    danke für die fixe Antwort, ich fürchte, ich bin hier in einem anderen Forum als sonst gelandet.
    Du bist ja aber scheinbar überall :-).

    ... gut zu wissen.


    Liebe Grüße Stefan
    Freitag, 16. April 2010 21:20