vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Selectierter Listview eintrag 
Autor: Toolmaster
Datum: 07.09.07 02:00

cool Danke

aber dieses OwnerDraw macht mich echt verrückt

jetzt habe ich es fast soweit wie ich es möchte aber es macht mucken bis zum geht nicht mehr.

meine Probleme

so erstmal mein jetziger Code:

'------------------------Erstellen und zeichnen des 
' Listviews--------------------------------------------------
    Dim lvw_Sicherheit As ListViewGroup
    Private WithEvents listView1 As New ListView()
 
    Private Sub ListView1_DrawItem(ByVal sender As Object, ByVal e As _
      DrawListViewSubItemEventArgs) Handles listView1.DrawSubItem
        e.DrawBackground()
        If (e.ItemState And ListViewItemStates.Selected) <> 0 Then
 
            e.Graphics.FillRectangle(Drawing.Brushes.SpringGreen, e.Bounds)
            e.Graphics.DrawString(e.SubItem.Text, Me.listView1.Font, _
              Drawing.Brushes.Black, e.Bounds.X, e.Bounds.Y)
        Else
            e.Graphics.FillRectangle(Drawing.Brushes.Transparent, e.Bounds)
            e.Graphics.DrawString(e.SubItem.Text, Me.listView1.Font, _
              Drawing.Brushes.Black, e.Bounds.X, e.Bounds.Y)
        End If
        If e.Item.ImageIndex <> -1 Then
            e.Graphics.DrawImage(listView1.SmallImageList.Images( _
              e.Item.ImageIndex), 1, 1)
        End If
    End Sub
    Private Sub listView1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles listView1.Click
        If listView1.FocusedItem.Index = 0 Then
            listView1.Groups(0).Items(0).SubItems(1).Text = "tester"
           End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        With Me.listView1
            .SmallImageList = ImageList1
            .BackColor = Color.White
            .ForeColor = Color.Black
            .View = View.Details
            .FullRowSelect = True
            .OwnerDraw = True
            .Location = New Point(12, 42)
            .Size = New System.Drawing.Size(537, 372)
            .Scrollable = True
            .BorderStyle = BorderStyle.Fixed3D
            .HeaderStyle = ColumnHeaderStyle.None
            .MultiSelect = False
            .ShowGroups = True
        End With
        With Me.listView1.Columns
            .Add("Name", 360, HorizontalAlignment.Left)
            .Add("First", 173, HorizontalAlignment.Center)
        End With
        lvw_Sicherheit = New ListViewGroup("Sicherheit", "Sicherheits" & _
          "Einstellungen")
        lvw_Sicherheit.HeaderAlignment = HorizontalAlignment.Center
        listView1.Groups.Add(lvw_Sicherheit)
        fuellelistview()
        With Me
            .Controls.Add(Me.listView1)
        End With
 
 
    End Sub
    '----------------------------------------------------ende------------------
    ' --------------
 
 
 
    '----------------------------------------listview 
    ' füllen-------------------------------------
    Sub fuellelistview()
        listView1.BeginUpdate()
        listView1.Items.Clear()
        Dim listViewItem0 As New ListViewItem(New String() {"eintrag 1", ""}, _
          lvw_Sicherheit)
        Dim listViewItem1 As New ListViewItem(New String() {"eintrag 2", ""}, _
        lvw_Sicherheit)
        Me.listView1.Items.AddRange(New ListViewItem() {listViewItem0, _
        listViewItem1})
        listView1.EndUpdate()
 
 End Sub
Und hier macht es mal wieder probleme:
 Private Sub listView1_Click(ByVal sender As System.Object, ByVal e As _
   System.EventArgs) Handles listView1.Click
        If listView1.FocusedItem.Index = 0 Then
            listView1.Groups(0).Items(0).SubItems(1).Text = "tester"
           End If
    End Sub
Wenn ich jetzt den ersten Listview eintag anklicke ändert sich das Subitem auf tester so wie es sein sollte. nur wird aber gleichzeitig nur das Subitem in SpringGreen markiert und der Item eintrag ist weiß oder transparent.

wo habe ich da meine probleme?

Noch eine Frage hätte ich. Ich komme mit den images nicht klar.

Ich möchte gerne per Button ein Image aus der Imagelist auf den Eintrag 1 zeichnen. zb.

wie funktioniert das bitte.

Danke für die Geduld und Hilfe. Hoffe auf eine Lösung meines Problems.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Selectierter Listview eintrag6.188Toolmaster02.09.07 22:19
Re: Selectierter Listview eintrag4.812Christian2502.09.07 23:34
Re: Selectierter Listview eintrag2.474Toolmaster03.09.07 14:37
Re: Selectierter Listview eintrag2.657Toolmaster03.09.07 16:13
Re: Selectierter Listview eintrag2.402Radon03.09.07 18:27
Re: Selectierter Listview eintrag2.402Toolmaster03.09.07 18:36
Re: Selectierter Listview eintrag2.382Toolmaster03.09.07 18:59
Re: Selectierter Listview eintrag2.409Radon03.09.07 19:11
Re: Selectierter Listview eintrag2.716Toolmaster05.09.07 09:09
Re: Selectierter Listview eintrag2.439Radon05.09.07 18:43
Re: Selectierter Listview eintrag2.409Toolmaster05.09.07 21:30
Re: Selectierter Listview eintrag2.391Radon06.09.07 18:58
Re: Selectierter Listview eintrag3.266Toolmaster07.09.07 02:00
Re: Selectierter Listview eintrag2.609Radon07.09.07 14:53
Re: Selectierter Listview eintrag2.787Toolmaster17.12.07 13:14
Re: Selectierter Listview eintrag2.464Toolmaster17.12.07 14:28
Re: Selectierter Listview eintrag2.495raulic31.12.07 13:12

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel