vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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: button in listview eintragen 
Autor: Silver
Datum: 04.10.05 00:41

Hallo,
du könntest das Listview selber zeichnen (ownerdraw = true) und in der Spalte, in der "BUTTON" steht, selbst ein Button hinzeichnen.....

Keinesfalls ist der untenstehende Code als "Referenz" anzusehen sondern nur als denkanstoß. Damit du dir vorstellen kannst, wie ich das meine

Aber er funktioniert:
Public Class Form1
    Private Sub ListView1_DrawColumnHeader(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.DrawListViewColumnHeaderEventArgs) Handles _
      ListView1.DrawColumnHeader
        e.DrawDefault = True
    End Sub
    Private Sub ListView1_DrawSubItem(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.DrawListViewSubItemEventArgs) Handles _
      ListView1.DrawSubItem
        Dim f As System.Drawing.Font = ListView1.Font
        Dim rec As Rectangle
        Dim fo As New System.Drawing.StringFormat
        fo.Alignment = StringAlignment.Center
        fo.LineAlignment = StringAlignment.Center
 
        If e.SubItem.Text <> "BUTTON" Then
            e.DrawDefault = True
        Else
            e.DrawBackground()
            e.Graphics.DrawRectangle(Pens.Black, e.Bounds.X + 1, e.Bounds.Y + _
              1, e.Bounds.Width - 2, e.Bounds.Height - 2)
            rec = e.Bounds
            e.Graphics.DrawString("Button", f, Brushes.Red, rec, fo)
        End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        ListView1.Columns.Add("Spalte 1")
        ListView1.Columns.Add("Spalte 2")
        ListView1.Columns.Add("Spalte 3")
        ListView1.Columns.Add("Spalte 4")
 
        Dim index As Integer
        For index = 0 To 20
            With ListView1.Items.Add("Zeile" & index)
                .SubItems.Add("Subitem0." & index)
                .SubItems.Add("SubItem1." & index)
                .SubItems.Add("BUTTON")
            End With
        Next index
    End Sub
    Private Sub ListView1_MouseDown(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDown
 
        If Not IsNothing(ListView1.HitTest(e.X, e.Y).Item) Then
            If ListView1.HitTest(e.X, e.Y).SubItem.Text = "Button".ToUpper Then
                Dim index As Integer = ListView1.HitTest(e.X, e.Y).Item.Index
                Debug.WriteLine("Button der Zeile " & index & " wurde" & _
                  "geklickt!!")
 
                ListView1.Items(index).SubItems.RemoveAt(2)
                ListView1.Items(index).SubItems.RemoveAt(1)
                ListView1.Items(index).SubItems.RemoveAt(0)
 
                ListView1.Items(index).Remove()
            End If
        End If
    End Sub
End Class
Gruß

Silver
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
button in listview eintragen1.994nO.ob01.10.05 13:04
Re: button in listview eintragen2.693Silver04.10.05 00:41

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