Sauvegarder les attributs du texte d'un listview

paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019 - Modifié le 23 déc. 2018 à 17:53
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019 - 28 déc. 2018 à 13:25
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" ?

5 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
Modifié le 24 déc. 2018 à 12:35
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




0
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
Modifié le 26 déc. 2018 à 18:35
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
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
26 déc. 2018 à 20:42
Pour sauvegarder les réglages voir ceci:

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

@+ Le Pivert
0
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
27 déc. 2018 à 18:18
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.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
27 déc. 2018 à 18:51
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
0
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
27 déc. 2018 à 19:50
J'avais fait les deux écrans et je cherchais le reste...Mille mercis "Le Pivert".

Je testerais cela demain.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
paulhochon Messages postés 35 Date d'inscription samedi 15 décembre 2018 Statut Membre Dernière intervention 15 janvier 2019
28 déc. 2018 à 13:25
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.
0
Rejoignez-nous