Sauvegarder les attributs du texte d'un listview

Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
-
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" ?
Afficher la suite 

5 réponses

Messages postés
6274
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
87
0
Merci
Bonjour,

mais je voudrais conserver les attributs de chaque ligne comme la couleur et la police, par exemple.

Le fichier texte ne contient que le texte. C'est la ListView à l'ouverture qui va te permettre de faire ce que tu veux.

voir ceci pour modifier la couleur, la police etc.

https://plasserre.developpez.com/cours/vb-net/?page=ui-winforms3#LVIII-H-4

comment rendre la hauteur des lignes d'une listview automatiquement

   ListView1.Font = New System.Drawing.Font(
  "Times New Roman", 15, System.Drawing.FontStyle.Bold)


Regarde aussi ceci:

http://codes-sources.commentcamarche.net/forum/affich-1614143-enregistrer-une-listbox1-completement-avec-my-settings?page=2#25

ne te fis pas au titre, c'est le dernier message qui compte




Commenter la réponse de cs_Le Pivert
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
Merci, je regarde les liens.

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
cs_Le Pivert
Messages postés
6274
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
87 -
Pour sauvegarder les réglages voir ceci:

https://plasserre.developpez.com/cours/vb-net/?page=windows-forms4#LX-N-6

@+ Le Pivert
Commenter la réponse de paulhochon
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
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.
cs_Le Pivert
Messages postés
6274
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
16 octobre 2019
87 -
Commencez comme cela:



Vous avez ceci:



et voici le code:

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


Voilà c'est tout simple!

@+ Le Pivert
Commenter la réponse de paulhochon
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
J'avais fait les deux écrans et je cherchais le reste...Mille mercis "Le Pivert".

Je testerais cela demain.
Commenter la réponse de paulhochon
Messages postés
35
Date d'inscription
samedi 15 décembre 2018
Statut
Membre
Dernière intervention
15 janvier 2019
0
Merci
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.
Commenter la réponse de paulhochon