IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Images dans listview


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2016
    Messages : 12
    Par défaut Images dans listview
    Bonjour:
    Je travail sur une application en visual studio 2015 (vb net).
    Je charge des images dans listview,en usant de ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
      Private Sub catchoiceform_Load(sender As Object, e As EventArgs) Handles Me.Load
            If dbconn.State = ConnectionState.Open Then
                dbconn.Close()
            End If
     
            Try
                DataGridView1.BackgroundColor = Color.FromArgb(240, 145, 110)
                Me.BackColor = Color.FromArgb(20, 20, 20)
                ListView1.BackColor = Color.FromArgb(20, 20, 20)
                dbconn.Open()
                Dim ds As New DataSet
                Dim sqladap As New OleDbDataAdapter("SELECT *  FROM categorie", dbconn)
                sqladap.Fill(ds)
                ' Dim var1, myfile As String
                ListView1.LargeImageList = ImageList1
                ListView1.SmallImageList = ImageList1
                ListView1.View = View.LargeIcon
                ListView1.Columns.Add("Catégorie", 250)
                ListView1.Font = New Font(ListView1.Font.FontFamily, 14, ListView1.Font.Style)
                Dim i As Integer
                Dim lst As ListViewItem
                For i = 0 To ds.Tables(0).Rows.Count - 1
                    If Dir(My.Application.Info.DirectoryPath & "\photos\Categories\" & ds.Tables(0).Rows(i)(0) & ".jpg") <> vbNullString Then
                        ImageList1.Images.Add(System.Drawing.Image.FromFile(My.Application.Info.DirectoryPath & "\photos\Categories\" & ds.Tables(0).Rows(i)(0) & ".jpg"))
                    Else
                        ImageList1.Images.Add(System.Drawing.Image.FromFile(My.Application.Info.DirectoryPath & "\photos\Categories\logo.jpg"))
                    End If
                    lst = ListView1.Items.Add(ds.Tables(0).Rows(i)(1), i)
                Next
     
                Me.CenterToParent()
     
            Catch ex As Exception
            End Try
        End Sub
    les images s'affichent.mais elles sont séparées par un segment trop large à mon gout.J'aimerai bien les rapprocher le plus possible Je bloque,aidez moi et merci.Nom : Sans titre.jpg
Affichages : 663
Taille : 9,5 Ko

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Tu pourrais utiliser un TableLayoutPanel auquel tu ajouterais dynamiquement des PictureBox comme ça il n'y aura pas cette contrainte liée au Control Listview en mode vignette.

    ++

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2016
    Messages : 12
    Par défaut re
    Bonsoir
    Merci de votre attention.Je vais me documenter et essayer de suivre votre conseil.Si toutefois vous avez des références à me suggérer ce sera sympa de votre part.

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2016
    Messages : 12
    Par défaut Re
    Bonsoir
    Après quelques tâtonnements,voici ou j'en suis.j'ai utilisé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      For i = 0 To ds.Tables(0).Rows.Count - 1
                Dim pic As New PictureBox
                pic.BackgroundImageLayout = ImageLayout.Stretch
                pic.BackgroundImage = Image.FromFile(My.Application.Info.DirectoryPath & "\photos\Categories\" & ds.Tables(0).Rows(i)(0) & ".jpg")
                TableLayoutPanel1.Controls.Add(pic, 0, 1)
     
            Next
    et voici le resultat Nom : Sans titre.jpg
Affichages : 651
Taille : 4,6 Ko

    plutôt satisfaisant comparé au premier.Mais il me manque les titres.En plus maintenant je bloque sur le stade suivant.Je veux /si je clic sur l'image qui représente une catégorie,les images des articles de cette catégorie s'affichent dans un autre tablelayoutpanel.

  5. #5
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Pour récupérer l'event Click sur tes PictureBox il faut t'abonner dynamiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      For i = 0 To ds.Tables(0).Rows.Count - 1
                Dim pic As New PictureBox
                pic.name = i.tostring
                AddHandler pic.Click, addressof(Pcbs_Click)
                pic.BackgroundImageLayout = ImageLayout.Stretch
                pic.BackgroundImage = Image.FromFile(My.Application.Info.DirectoryPath & "\photos\Categories\" & ds.Tables(0).Rows(i)(0) & ".jpg")
                TableLayoutPanel1.Controls.Add(pic, 0, 1)
     
            Next
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private sub Pcbs_Click(sender as object, e as eventargs)
        Dim pcb as picturebos = trycast(sender, Picturebox)
        Msgbox(pcb.Name & " Clicked")
     
    End sub
    C du pseudo code.... car j'ai pas ouvert VS.... donc il faut l' adapter.

    Pour pouvoir ajouter les titres (dynamiquement toujours) il faudrait dans chaque case de ton TablelayoutPanel ajouter un SplitContainer (Horizontal) puis ajouter PictureBox et Label par exemple. Pourquoi pas développer un UserControl contenant SplitContainer horizontal avec PictureBox et Label. Le but etant de pouvoir identifier chaque UserControl avec la propriété .Tag pour savoir le moment venu sur quel control tu agis.

    A+

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2016
    Messages : 12
    Par défaut re
    Bonsoir
    C'est bon.Résolu
    Un très grand merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème superpositions d'images dans ListView
    Par anto2b dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 18/02/2013, 19h19
  2. Images dans ListView
    Par altropus dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 01/02/2010, 17h27
  3. Image dans listview mode détail
    Par metallica14 dans le forum VB.NET
    Réponses: 1
    Dernier message: 26/07/2007, 13h23
  4. [vb2005] Images dans Listview
    Par stargates dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/08/2006, 15h39
  5. [VB.NET][ListView]des images dans une list view
    Par pcdj dans le forum Windows Forms
    Réponses: 1
    Dernier message: 16/12/2005, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo