Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMBOBOX AVEC IMAGE


Information sur la source

Catégorie :Control Source .NET ( DotNet ) Niveau : Débutant Date de création : 27/01/2005 Vu : 11 164

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

cette classe herite du comosant combobox, on peut lui ajouter une image liste pour avois une image, biensur il peut etre ameliore pour gerer plusieurs images, l'alignement du texte...
en fait c'est juste une piste pour ceux qui veulent commencer
a+
 

Source

  • Namespace MyBiblio.Windows.form
  • Public Class ComboMaison
  • Inherits ComboBox
  • Private m_ImgLst As ImageList
  • Public Property ImgLst() As ImageList
  • Get
  • Return m_ImgLst
  • End Get
  • Set(ByVal Value As ImageList)
  • m_ImgLst = Value
  • End Set
  • End Property
  • Protected Overrides Sub OnDrawItem(ByVal e As
  • System.Windows.Forms.DrawItemEventArgs)
  • Me.DropDownStyle =
  • ComboBoxStyle.DropDownList
  • MyBase.OnDrawItem(e)
  • If e.Index = -1 Then
  • Exit Sub
  • End If
  • Dim oB As System.Drawing.SolidBrush = New
  • System.Drawing.SolidBrush(Me.ForeColor)
  • If ImgLst.Images.Count <> 0 Then
  • Dim Img As Image = Me.ImgLst.Images(0)
  • Dim iX = e.Bounds.Left
  • Dim iY = e.Bounds.Top
  • e.Graphics.FillRectangle(SystemBrushes.InactiveCaption,
  • e.Bounds)
  • e.Graphics.DrawImage(Img, CType(iX,
  • Single), CType(iY, Single))
  • e.Graphics.DrawString(Me.Items(0),
  • Me.Font, oB, CType(iX, Single) + Img.Width, CType(iY,
  • Single))
  • oB.Dispose()
  • End If
  • End Sub
  • End Class
  • End Namespace
Namespace MyBiblio.Windows.form

    Public Class ComboMaison

        Inherits ComboBox

        Private m_ImgLst As ImageList

        Public Property ImgLst() As ImageList
            Get
                Return m_ImgLst
            End Get
            Set(ByVal Value As ImageList)
                m_ImgLst = Value
            End Set
        End Property

        Protected Overrides Sub OnDrawItem(ByVal e As
System.Windows.Forms.DrawItemEventArgs)

            Me.DropDownStyle =
ComboBoxStyle.DropDownList

            MyBase.OnDrawItem(e)

            If e.Index = -1 Then
                Exit Sub
            End If

            Dim oB As System.Drawing.SolidBrush = New
System.Drawing.SolidBrush(Me.ForeColor)

            If ImgLst.Images.Count <> 0 Then

                Dim Img As Image = Me.ImgLst.Images(0)

                Dim iX = e.Bounds.Left
                Dim iY = e.Bounds.Top

               
e.Graphics.FillRectangle(SystemBrushes.InactiveCaption,
e.Bounds)

                e.Graphics.DrawImage(Img, CType(iX,
Single), CType(iY, Single))

                e.Graphics.DrawString(Me.Items(0),
Me.Font, oB, CType(iX, Single) + Img.Width, CType(iY,
Single))

                oB.Dispose()

            End If

        End Sub

    End Class

End Namespace

Commentaires et avis

signaler à un administrateur
Commentaire de orzhov54 le 30/09/2008 09:26:22

est ce que tu peux nous donner un  exemple car j'utilise le code pour créer un composant mais je n'arrive pas à mettre d'image dans la combo ainsi créer.

signaler à un administrateur
Commentaire de orzhov54 le 30/09/2008 10:26:27

bon en fait j'ai compris mais je vois pas pourquoi je n'ai as d'image









ps: ton code me fait gagné du temps merci

signaler à un administrateur
Commentaire de chris81 le 30/09/2008 11:38:46

As tu ajouter des images dans dans l' imagelist ?

signaler à un administrateur
Commentaire de orzhov54 le 30/09/2008 11:41:46 10/10

oui c'est bon j'ai trouvait en fait il faut faire appele a drawitem du nouveau composant créer

merci

signaler à un administrateur
Commentaire de Jielde le 10/02/2009 18:59:22

Salut,

Pourrais tu nous mettre un petit exemple car je ne comprend pas comment ajouter l'option au combobox.

merci

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.