vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
ComboBox mit Icons 
Autor: stefanbla80
Datum: 22.07.14 12:07

Hallo zusammen,

Meiner ComboBox würde ich gerne Icons zuweisen.

Folgenden Code habe ich mir hierzu angeschaut.

Form
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles MyBase.Load
 
        Dim MyCombo As New ComboIcon
 
        MyCombo.ImageList = ImageList1
 
        MyCombo.Items.Add(New ComboBoxIconItem("Bart", 0))
        MyCombo.Items.Add(New ComboBoxIconItem("Marge", 2))
        MyCombo.Items.Add(New ComboBoxIconItem("Homer", 1))
        MyCombo.Items.Add(New ComboBoxIconItem("Lisa", 3))
        MyCombo.Items.Add(New ComboBoxIconItem("Maggie", 4))
 
        Me.Controls.Add(MyCombo)
        MyCombo.Top = 30
        MyCombo.Left = 50
 
    End Sub
Module
Public Class ComboIcon
    Inherits ComboBox
 
    Private ListaImg1 As New ImageList
 
    Public Property ImageList() As ImageList
        Get
            Return ListaImg1
        End Get
        Set(ByVal ListaImagem As ImageList)
            ListaImg1 = ListaImagem
        End Set
    End Property
 
    Public Sub New()
        DrawMode = DrawMode.OwnerDrawFixed
    End Sub
 
 
 
    Protected Overrides Sub OnDrawItem(ByVal e As _
      System.Windows.Forms.DrawItemEventArgs)
        e.DrawBackground()
        e.DrawFocusRectangle()
 
        Dim item As New ComboBoxIconItem
        Dim imageSize As New Size
        imageSize = ListaImg1.ImageSize
 
        Dim bounds As New Rectangle
        bounds = e.Bounds
 
        Try
            item = Me.Items(e.Index)
            If (item.ImageIndex <> -1) Then
                Me.ImageList.Draw(e.Graphics, bounds.Left, bounds.Top, _
                  item.ImageIndex)
                e.Graphics.DrawString(item.Text, e.Font, New SolidBrush( _
                e.ForeColor), bounds.Left + imageSize.Width, bounds.Top)
            Else
                e.Graphics.DrawString(item.Text, e.Font, New SolidBrush( _
                  e.ForeColor), bounds.Left, bounds.Top)
            End If
        Catch ex As Exception
            If (e.Index <> -1) Then
                e.Graphics.DrawString(Items(e.Index).ToString(), e.Font, New _
                  SolidBrush(e.ForeColor), bounds.Left, bounds.Top)
            Else
                e.Graphics.DrawString(Text, e.Font, New SolidBrush( _
                  e.ForeColor), bounds.Left, bounds.Top)
            End If
 
        End Try
        MyBase.OnDrawItem(e)
    End Sub
 
 
End Class
 
Class ComboBoxIconItem
    Private _text As String
 
    Property Text() As String
        Get
            Return _text
        End Get
        Set(ByVal Value As String)
            _text = Value
        End Set
    End Property
 
    Private _imageIndex As Integer
 
    Property ImageIndex() As Integer
        Get
            Return _imageIndex
        End Get
 
        Set(ByVal Value As Integer)
            _imageIndex = Value
        End Set
    End Property
 
    Public Sub New()
        _text = ""
    End Sub
 
    Public Sub New(ByVal text As String)
        _text = text
    End Sub
 
    Public Sub New(ByVal text As String, ByVal imageIndex As Integer)
        _text = text
        _imageIndex = imageIndex
    End Sub
 
 
    Public Overrides Function ToString() As String
        Return _text
    End Function
End Class
=> Dieser Code erzeugt eine komplett neue ComboBox auf dem Form.
Ich würde gerne lediglich meine bestehende ComboBox1 mit den Icons versorgen.

Habt Ihr eine Idee?!

Grüße
Stefan
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ComboBox mit Icons2.226stefanbla8022.07.14 12:07
Re: ComboBox mit Icons1.581Manfred X22.07.14 19:58
Re: ComboBox mit Icons1.602stefanbla8023.07.14 06:41
Re: ComboBox mit Icons1.579GPM23.07.14 09:33
Re: ComboBox mit Icons1.831stefanbla8023.07.14 14:11
Re: ComboBox mit Icons1.574GPM23.07.14 15:14

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-2024 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