Bonjour,
j'arrive bien à sauvegarder le contenu d'une listview dans un fichier texte (extension perso) mais je voudrais conserver les attributs de chaque ligne comme la couleur et la police, par exemple.
Comment faire ?
Private Sub BtnSauvPla_Click(sender As Object, e As EventArgs) Handles BtnSauvPla.Click
'Choisir l'emplacement d'enregistrement des données.
Using sauve As New SaveFileDialog()
sauve.Filter = "Fichier texte|*.BFpla"
If sauve.ShowDialog() = DialogResult.OK Then
SauvegarderLesDonnées(listvPla, sauve.FileName)
End If
End Using
End Sub
Autre question temps que j'y suis: comment rendre la hauteur des lignes d'une listview automatiquement ajustable en fonction de la hauteur de la police choisie dans une boite "fontdialog" ?
A voir également:
Visual basic listview
Listview visual basic - Meilleures réponses
Filter datagridview vb.net using textbox - Meilleures réponses
Pour l'instant je sais changer ces attributs (code ci-dessous) et je sais sauvegarder un listview en fichier texte.
J'ai cru lire (je n'ai pas une mémoire infaillible) que seul un texte enrichi pouvais sauver les attributs comme la couleur et la police (c'est bien ce que je veux, qu'à l'ouverture le fichier soit déjà "enrichi" comme à sa sauvegarde).
Je me document et revient pour clore ... ou pas le post.
' changer couleur et police texte listview
Dim Vtextcoul As New ColorDialog
Dim Vtextfont As New FontDialog
' changer couleur texte listview
Public Sub CouleurDuTexteToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CouleurDuTexteToolStripMenuItem.Click
If Vtextcoul.ShowDialog() = 1 Then
listvPlaco.SelectedItems(0).SubItems(0).ForeColor = Vtextcoul.Color
End If
End Sub
' changer police texte listview
Private Sub PoliceDuTexteToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PoliceDuTexteToolStripMenuItem.Click
If Vtextfont.ShowDialog() = 1 Then
listvPla.SelectedItems(0).SubItems(0).Font = Vtextfont.Font
End If
End Sub
Bonjour,
je viens d'essayer le "PropertyBinding" pour "Forecolor" et "Font" de la listview mais cela ne fonctionne pas comme je le voudrais.
Si j'ai bien compris la partie du cours de M.Plasserre ces "liens" fonctionnent lors de la réouverture de l'application et le controleur (listview) se réouvre comme on l'avait fermé, or quand je l'ouvre, je charge un listview (vide) puis je le remplis manuellement via des listbox et bouttons OU je vais lire un fichier texte qui rempli ce listview...mais celui-ci sauvegardé avec les modifs de font et de couleur (apparemment si j'ai bien compris c'est parce qu’il est sauvegardé dans un fichier texte non enrichi) ne garde pas ses attributs .
Je vais fouiller dans les liens que tout le monde m'a donné et sur le net.
Si vous avez une info ou que je suis passé à coté d'un point merci à vous de me le dire.
Option Strict On
Public Class Form1
Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
My.Settings.macouleur = ListView1.ForeColor
My.Settings.mapolice = ListView1.Font
My.Settings.Save()
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
ListView1.ForeColor = My.Settings.macouleur
ListView1.Font = My.Settings.mapolice
End Sub
'https://plasserre.developpez.com/cours/vb-net/?page=windows-forms4#LX-N-6
'police
Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click
Dim myFontDialog As FontDialog
myFontDialog = New FontDialog()
If myFontDialog.ShowDialog() = DialogResult.OK Then
ListView1.Font = myFontDialog.Font
End If
End Sub
'couleur
Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click
Dim mycolorDialog As ColorDialog
mycolorDialog = New ColorDialog()
If mycolorDialog.ShowDialog() = DialogResult.OK Then
ListView1.ForeColor = mycolorDialog.Color
End If
End Sub
Bon pour sauvegarder la couleur ou la font pour tout le listview; c'est ok.
Ce que je voudrais c'est la même chose MAIS pour chaque ligne.
Et là cela dépasse mes compétences.
Je vais essayer autre chose: transférer mes lignes du listview dans un contrôleur type textbox ou datagridview et changer les attributs ensuite; cela à l'air plus faisable.
Bon j'aurais quand même appris pas mal de choses sur ces listview.