Rubrik: Controls · ListView & TreeView | VB-Versionen: VB2005, VB2008 | 28.03.11 |
Verschieben bestimmter Spalten im ListView verhindern Hier wird gezeigt, wie man verhindert, dass der Anwender im ListView-Control bestimmte Spalten verschieben kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 10.158 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Setzt man im ListView-Control die Eigenschaft AllowColumnReorder auf den Wert True, so kann der Anwender zur Laufzeit bequem die Spalten im ListView Control neu anordnen.
Jetzt soll es aber vorkommen, dass man das Verschieben einer oder mehrerer Spalten unterbinden möchte.
Im nachfolgenden Beispiel zeigen wir, wie man verhindert, dass der Anwender die erste Spalte im ListView-Control neu anordnen kann:
Private Sub ListView1_ColumnReordered(ByVal sender As Object, _ ByVal e As System.Windows.Forms.ColumnReorderedEventArgs) _ Handles ListView1.ColumnReordered ' Index der Spalten-Auflistung beginnt mit 0 !!! ' Wird die 1. Spalte verhoben? ' Oder wird eine andere Spalte auf die 1. Position verschoben? ' Wenn ja, Vorgang abbrechen If e.OldDisplayIndex = 0 Or e.NewDisplayIndex = 0 Then e.Cancel = True End Sub
Zu beachten ist, dass der Index der Spalten-Auflistung mit 0 beginnt und nicht wie evtl. vermutet mit dem Wert 1!