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 :

Une ligne, une couleur ?


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2013
    Messages : 34
    Points : 25
    Points
    25
    Par défaut Une ligne, une couleur ?
    Bonjour, je cherche à réaliser un color picker adapté à mes besoins, pour cela j'ai besoin de savoir s'il est possible via un composant CheckedListBox ou au pire RichTextBox ou ListBox (je suis ouvert à d'autre propositions), de coloré la dernière ligne seulement de la couleur que j'ai sous la souris.

    A se stade, je récupère bien la valeur RGB sous mon curseur, j'inclus sans soucis la valeur dans mon RichTextBox (bien que j'aurais préféré un CheckedListBox), et le contenu prend bien la couleur que je viens de sélectionner, le seul hic, c'est qu'en sélectionnant une autre couleur, tout le texte de mon RTB change pour cette couleur, alors que j'aimerais que se ne soit que la dernière ligne.

    Je ne vois plus comment m'y prendre, le but étant qu'au final, si j'ai sélectionner 10 couleurs, chacune des lignes contenant la valeur RGB sélectionné, soit écrite de cette couleur, afin de me remémorer avant d'enregistrer cela dans un fichier quelle était la couleur, dans le cas ou je change d'avis et veuille en supprimer une.

    Si quelqu'un a une piste, je suis preneur, merci par avance

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Voici un exemple simple avec une ListBox. (un bouton, une listbox, un ColorDialog)
    La propriété "DrawMode" de la ListBoxdoit être sur "OwnerDrawFixed"
    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
        ' dictionnaire identifiant la ligne et la couleur associée
        Private DicoCouleurLigne As Dictionary(Of String, Color) = New Dictionary(Of String, Color)
        Private Ligne As Integer = 0 ' compteur de ligne pour l'exemple (afin de différencier les lignes)
     
        Private Sub lstCouleur_DrawItem(sender As System.Object, e As System.Windows.Forms.DrawItemEventArgs) Handles lstCouleur.DrawItem
            e.Graphics.FillRectangle(New SolidBrush(DicoCouleurLigne(DirectCast(lstCouleur.Items(e.Index), String))), e.Bounds)     ' colorise la ligne
            e.Graphics.DrawString(DirectCast(lstCouleur.Items(e.Index), String), lstCouleur.Font, New SolidBrush(lstCouleur.ForeColor), e.Bounds.Left + 1, e.Bounds.Top + 1)
        End Sub
     
        ' exemple d'ajout dans la liste box (ici "LigneX" représente la valeur à traiter, à remplacer suivant ton type utilisé et les valeurs associées)
        Private Sub btnAjCouleur_Click(sender As System.Object, e As System.EventArgs) Handles btnAjCouleur.Click
            If ColorDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
                DicoCouleurLigne.Add("ligne" & Ligne.ToString, ColorDialog1.Color)
                lstCouleur.Items.Add("ligne" & Ligne.ToString)
                Ligne += 1
            End If
        End Sub
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2013
    Messages : 34
    Points : 25
    Points
    25
    Par défaut
    Un énorme merci à toi rv26t, j'ai grâce à toi pu finaliser mon petit projet

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/02/2021, 16h57
  2. mettre une ligne en couleur
    Par radahm dans le forum IHM
    Réponses: 1
    Dernier message: 24/03/2009, 21h58
  3. Mettre les cellules d'une ligne en couleur
    Par John81 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 15/09/2008, 21h20
  4. DBGrid, mettre une ligne en couleur.
    Par andreditdd dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/12/2007, 13h37
  5. [C#] Comment mettre une ligne en couleur dans mon DataGrid ?
    Par vandeyy dans le forum Windows Forms
    Réponses: 7
    Dernier message: 19/07/2004, 10h03

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