Heute stellen wir Ihnen eine universelle Funktion vor, mit der Sie einen ganz bestimmten Eintrag innerhalb des ListView-Controls selektieren können und diesen in den sichtbaren Bereich bringen. Wichtig: Damit der Eintrag auch den Fokus erhält, d.h. dieser autom. selektiert ist, wenn das ListView wieder den Fokus erhält, muss die Focused-Eigenschaft des ListView-Eintrags auf True festgelegt werden! ''' <summary> ''' Selektiert den angegebenen ListView-Eintrag, zeigt diesen ''' an und setzt den Fokus auf diesen Eintrag ''' </summary> ''' <param name="ListView">ListView-Control</param> ''' <param name="Index">Index des Eintrags, der selektiert werden soll</param> ''' <param name="RemoveSelection">Optional. Legt fest, ob eine bereits ''' vorhandene Selektion vorher entfernt werden soll.</param> Public Sub LV_SelectFocus(ByVal ListView As ListView, ByVal Index As Integer, _ Optional ByVal RemoveSelection As Boolean = True) With ListView ' Plausibilitätsprüfungen If Index < 0 Then Index = 0 If Index > .Items.Count - 1 Then Index = .Items.Count - 1 ' ggf. vorher eine vorhandene Auswahl entfernen If RemoveSelection Then .SelectedItems.Clear() If Index < .Items.Count Then With .Items(Index) ' Eintrag selektieren .Selected = True ' Sicherstellen, dass der Eintrag sich im ' sichtbaren Bereich des Controls befindet .EnsureVisible() ' Eintrag als aktiven Eintrag festlegen .Focused = True End With End If End With End Sub Aufrufbeispiel: ' 1. Eintrag selektieren LV_SelectFocus(ListView1, 0) ' Letzten Eintrag selektieren LV_SelectFocus(ListView1, ListView1.Items.Count) ' 10 Einträge "zurückblättern" Dim Index As Integer = 0 With ListView1 If .SelectedIndices.Count > 0 Then Index = .SelectedIndices(0) End With LV_SelectFocus(ListView1, Index - 10) ' 10 Einträge "vorblättern" Dim Index As Integer = 0 With ListView1 If .SelectedIndices.Count > 0 Then Index = .SelectedIndices(0) End With LV_SelectFocus(ListView1, Index + 10) Dieser Tipp wurde bereits 31.506 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
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. |