Vb.Net Changer la couleur de la Gridline de la Listview [Résolu]

Messages postés
418
Date d'inscription
mardi 4 février 2014
Dernière intervention
24 septembre 2018
- 15 oct. 2016 à 14:55 - Dernière réponse :
Messages postés
418
Date d'inscription
mardi 4 février 2014
Dernière intervention
24 septembre 2018
- 15 oct. 2016 à 21:38
Bonjour,
je faisais des recherche sur comment modifier l'apparence de listview, j'ai trouvé le poste de karin.code sur comment modifier l'entête de la listview)
je voulais aussi modifier la couleur de Gridlines, le seul sujet que j'ai pu trouver et qui marche bien est dans :
http://vb-net123.blogspot.com/2012/11/change-listview-gridlines-color.html
j'ai remarqué que dans la propriété de la listview du projet télécharger de se site il y a une fonction en plus (UseDefautGridlines = True/Fause), cette fonction n'existe pas normalement dans la listview et aussi je ne peut pas copier cette listview dans une nouveau projet même chose pour le code il y a des erreur qui š'affiché
esque il y a des manipulations à faire pour ajouter la foction UseDefautGridlines à la listview
Merci d'avance pour votre future aide
Afficher la suite 

Votre réponse

8 réponses

Messages postés
1702
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 novembre 2018
- Modifié par vb95 le 15/10/2016 à 17:24
0
Merci
Bonjour kikou73
Je suppose que cette nouvelle listview est un contrôle utilisateur qui utilise les propriétés de base de la listview de visual Studio et on y rajoute d'autres propriétés et méthodes !
J'ai voulu ouvrir la page de téléchargement du projet et j'ai eu de mauvaises surprises ( un soit-disant virus sur mon Pc)
Après vérification cela s'avère faux !
Je n'irai pas plus loin dans ce sujet car ad-fly ne me semble pas être un site sûr

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. 
Messages postés
418
Date d'inscription
mardi 4 février 2014
Dernière intervention
24 septembre 2018
>
Messages postés
1702
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 novembre 2018
- 15 oct. 2016 à 18:23
Salut vb95
Merci pour ton aide, je vais essayer de faire plus de recherche
Bonne fin de weekend a toi aussi
Messages postés
1702
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 novembre 2018
>
Messages postés
418
Date d'inscription
mardi 4 février 2014
Dernière intervention
24 septembre 2018
- 15 oct. 2016 à 18:26
regarde ici pour les bases des contrôles utilisateur
http://plasserre.developpez.com/cours/vb-net/?page=poo1#LXV-C-2
Messages postés
418
Date d'inscription
mardi 4 février 2014
Dernière intervention
24 septembre 2018
>
Messages postés
1702
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 novembre 2018
- 15 oct. 2016 à 20:32
Salut vb95
le lien que tu m'a donnée été vraiment très utile
Aprés avoir ajouté le Class Listview.vb qui se trouve dans le projet précédent http://www.cjoint.com/c/FJppH2Slm5J
clique sur Déboguer -> Générer (Nom du projet), pour générer l'outil ListviewEx dans la liste des outils
Maintenant il suffit de le saisir et de le déplacer dans un des formulaires
on ajoute un bouton et une textbox
copier le code suivant dans Public Class Form1
Dim i As Integer = 0
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If i = 0 Then
ListViewEx1.Columns.Add("Valeur " & 0, 0, HorizontalAlignment.Center)
ListViewEx1.Items.Add("")

ListViewEx1.Columns.Add("Valeur " & 1, 100, HorizontalAlignment.Center)
ListViewEx1.Items(0).SubItems.Add(TextBox1.Text)
ListViewEx1.Width = ListViewEx1.Width + 5
ElseIf i > 0 Then
ListViewEx1.Width = ListViewEx1.Width + 100
ListViewEx1.Columns.Add("Valeur " & i + 1, 100, HorizontalAlignment.Center)
ListViewEx1.Items(0).SubItems.Add(TextBox1.Text)
End If
TextBox1.Clear()
TextBox1.Focus()
i = i + 1
ListViewEx1.OwnerDraw = True
End Sub
Private Sub ListViewEx1_DrawColumnHeader(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawListViewColumnHeaderEventArgs) Handles ListViewEx1.DrawColumnHeader
Try
Dim RectPoints As New Point(e.Bounds.X, e.Bounds.Y)
Dim RectSizes As New Size(New Point(e.Bounds.Width + 20, e.Bounds.Height))
Dim Rects As New Rectangle(RectPoints, RectSizes)
e.Graphics.FillRectangle(Brushes.Black, Rects) 'couleur contour
Dim RectPoint As New Point(e.Bounds.X + 1, e.Bounds.Y + 1)
Dim RectSize As New Size(New Point(e.Bounds.Width - 1, e.Bounds.Height - 1))
Dim Rect As New Rectangle(RectPoint, RectSize)
e.Graphics.FillRectangle(New SolidBrush(SystemColors.WindowFrame), Rect) 'couleur fond BackColor
Finally
End Try
If CInt(e.ColumnIndex.ToString) = 0 Then
ElseIf CInt(e.ColumnIndex.ToString) > 0 Then
e.Graphics.DrawString("Valeur " & e.ColumnIndex.ToString, New Font("Georgia", 12, FontStyle.Bold), Brushes.Red, e.Bounds.X + 10, e.Bounds.Y + 3)
End If
End Sub
Private Sub ListViewEx1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawListViewItemEventArgs) Handles ListViewEx1.DrawItem
e.DrawDefault = False
End Sub
Private Sub ListViewEx1_ColumnWidthChanging(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles ListViewEx1.ColumnWidthChanging
e.Cancel = True
e.NewWidth = DirectCast(sender, ListViewEx).Columns(e.ColumnIndex).Width
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListViewEx1.View = View.Details
ListViewEx1.GridLines = True
ListViewEx1.GridLineColor = Color.Black
ListViewEx1.UseDefaultGridLines = False
ListViewEx1.Scrollable = False
TextBox1.Focus()
End Sub


On peut dire que ce code est une suite de celui de Karin.code
il y a une chose a modifier dans ListviewEx.vb
dans cette partie :
 Protected Overrides Sub OnDrawColumnHeader(ByVal e As System.Windows.Forms.DrawListViewColumnHeaderEventArgs)
e.DrawDefault = False
MyBase.OnDrawColumnHeader(e)
End Sub

modifier e.DrawDefault = True par ça e.DrawDefault = False

Merci vb95 pour ton aide précieuse
Messages postés
1702
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 novembre 2018
>
Messages postés
418
Date d'inscription
mardi 4 février 2014
Dernière intervention
24 septembre 2018
- 15 oct. 2016 à 21:30
Salut kikou73
Penses à mettre le post en Résolu si cela te convient
bon weekend
Messages postés
418
Date d'inscription
mardi 4 février 2014
Dernière intervention
24 septembre 2018
- 15 oct. 2016 à 21:38
oups désolé j'ai complètement oublié
Commenter la réponse de vb95

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.