Also, ich fang mal an: Hallo leudle,
Ich hab eine Form, auf der befinden sich (um es einfach zu halten) ein ListView namens
lvw mit MultiSelect = False und ein Panel. in dieses Panel werden nachher ne ganze Menge
PictureBoxen geladen und deren BackgroundImage festgelegt (mit der normalen Image-Prop
gehts nicht). Dem ListView können Einträge hinzugefügt werden, hüchstens 16. Das sieht
dann so aus:Sub cmdN_Click(sender As System.Object, e As System.EventArgs) Handles
cmdN.Click
Dim itm As ListViewItem = lvw.Items.Add(New ListViewItem(New String() _
{Microsoft.VisualBasic.InputBox("Name"), _
Microsoft.VisualBasic.InputBox("Adresse")}))
itm.BackColor = Color.FromArgb(Microsoft.VisualBasic.QBColor(16 - itm.Index))
itm.ForeColor = Color.FromArgb(Microsoft.VisualBasic.QBColor(itm.Index))
If lvw.Items.Count = 16 Then cmdN.Enabled = False
End SubIch weiß, jetzt kommt "QBColor? Was ist das?" oder "Benutzt du das immer
noch?", also: 1. QBColor ist eine VB.Net-VB-QuickBasic-Übernahme *ächz*, man siehe
VB.NET-Dokumentation, und 2. Ich wills mir halt einfach machen. So, weiter: die
PictureBoxen auf dem Panel sind keine "echten" PictureBoxen sondern "ExPic"s:Private
Class ExPic
Inherits System.Windows.Forms.PictureBox
Private p As Boolean, i As String
Public Sub New()
MyBase.New
Me.Size = New Size(15, 15)
End Sub
Public Property Pressed As Boolean
Get
Return p
End Get
Set(v As Boolean)
p = v
Me.Refresh
End Set
End Property
Public Property ImageURL As String
Get
Return i
End Get
Set(v As String)
i = v
Me.BackgroundImage = New Bitmap(Image.FromFile(v), Me.Size)
End Set
End Property
End Class Ich weiß, ist nicht so Professionell aber mir reichts. So Wenn Man jetzt
auf so ein ExPic klickt, wird dessen Pressed-Prop umgekehrt und es Refreshd. Beim
Painten kommt dann das:Private Sub pic_Paint(sender As Object, e As PaintEventArgs)
If sender.Pressed And lvw.SelectedIndices(0) > 1 Then _
e.Graphics.DrawRectangle(New
Pen(lvw.SelectedItems(0).BackColor, 2), 1, 1, 13, 13)
sender.Refresh
End Sub Dies bewirkt, dass wenn ein Eintrag ausgewählt ist, der nicht der erste ist
(fragt mich nicht nach dem Grund), das ExPic in dessen BackColor Eingerakmt wird. Soll
zumindest. Tut aber nicht. Kann mir jemand den Fehler sagen? Danke, Ganz großes
Dankeschön an alle die mir helfen können schon im Voraus!
Wissen ist Macht - Nichts wissen macht nichts |