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 :

Soucis de backcolor sur un MenuStrip


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Par défaut Soucis de backcolor sur un MenuStrip
    Bonjour

    Je rencontre un petit soucis d'apparence sur un MenuStrip que je n'arrive pas à résoudre malgré de nombreux essai trouvés sur le net.

    Lorsque je clique sur un MenuItem celui-ci prend un fond Blanc et j'arrive pas à modifier cette couleur et surtout retrouver la couleur d’origine si on quitte ce MenuItem.

    Voici en image mon soucis:

    Avant Clique:
    Nom : Image 1.jpg
Affichages : 285
Taille : 5,1 Ko

    Après Clique:
    Nom : Image 2.jpg
Affichages : 277
Taille : 20,1 Ko

    Pouvez-vous résoudre ce problème ?

    Merci à tous.

    Cordialement.

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 29
    Par défaut
    Bonjour,
    J'ai un souci proche du tien.
    J'ai trouvé ceci sur le Net et l'ai à peine modifié
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
        Public Class MenuRendererDark
            Inherits ToolStripProfessionalRenderer
     
            Dim ColorUnsel As Color = Color.Black
            Dim ColorSel As Color = String2Color("FF2F2F2F")
     
            Protected Overloads Overrides Sub OnRenderMenuItemBackground(ByVal e As ToolStripItemRenderEventArgs)
                ' Item Color
                Dim rc As New Rectangle(Point.Empty, e.Item.Size)
                Dim c As Color = IIf(e.Item.Selected, ColorSel, ColorUnsel)
                Using brush As New SolidBrush(c)
                    e.Graphics.FillRectangle(brush, rc)
                End Using
            End Sub
            Protected Overrides Sub OnRenderSeparator(ByVal e As ToolStripSeparatorRenderEventArgs)
                MyBase.OnRenderSeparator(e)
                Dim ColorBrush As Brush = New SolidBrush(ColorUnsel)
                ' Separator Background
                Dim backGround As New Rectangle(0, 0, e.Item.Width, e.Item.Height)
                e.Graphics.FillRectangle(ColorBrush, backGround)
                Dim blackLine As New Rectangle(32, 3, e.Item.Width - 32, 1)
                e.Graphics.FillRectangle(Brushes.Black, blackLine)
                Dim whiteLine As New Rectangle(32, 4, e.Item.Width - 32, 1)
                e.Graphics.FillRectangle(Brushes.White, whiteLine)
            End Sub
        End Class
    Classe à ajouter dans le code de la Form contenant le menu.
    Ajouter également (je l'ai mis dans la Sub Form_Load)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MENU_General.Renderer = New MenuRendererDark()
    MENU_General est le menu à colorier.
    Je ne sais par contre pas passer de couleurs en paramètre à MenuRendererDark

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Par défaut ok merci
    Bonjour

    Ok Merci je vais essayer et je reviendrai dire le résultat....

    Super...

    Cordialement.

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Par défaut re
    Re

    J'ai essayé le code et j'ai des erreurs de paramétrage:

    String2Coloret Rectangle ne sont reconnus !!!!

    Quels sont les Imports ou autre que tu as intégré dans ton code ?

    Merci.

    Cordialement.

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par didpoy Voir le message
    String2Coloret Rectangle ne sont reconnus !!!!
    Rectangle = system.drawing
    Color2String ressemble à une méthode maison. Grosso-modo ça doit faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Color)ColorConverter.ConvertFromString("#FFDFD991");

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 147
    Par défaut
    (Color)ColorConverter.ConvertFromString("#FFDFD991")
    pas sûr de comprendre comment implanter cela dans mon code !!... je vais essayer...

    Merci.

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

Discussions similaires

  1. [SQL] Soucis requête SQl sur serveur Free
    Par Ryuuku dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/08/2007, 16h20
  2. RollOver sur élément menustrip
    Par micfont999 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/01/2007, 00h05
  3. Réponses: 8
    Dernier message: 04/08/2006, 15h24
  4. [FLASH MX] Soucis avec text sur banniere flash
    Par BeRoots dans le forum Flash
    Réponses: 14
    Dernier message: 11/03/2006, 13h38
  5. petit soucis pour lire sur un port usb le createfile n'accep
    Par anthonycosson dans le forum Windows
    Réponses: 5
    Dernier message: 14/02/2006, 09h34

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