Question

Je dois placer un contrôle à droite de mon MenuStrip. Le MenuStrip s’affaiblit dans les couleurs du côté gauche du BackColor pour devenir quelque chose de plus blanc à droite, et idéalement, je voudrais que mon petit contrôle s’intègre parfaitement en ayant le même backColor que le côté droit du dos. Est-ce que quelqu'un sait comment cette couleur est calculée?

Dans le pire des cas, pouvez-vous recommander une petite application permettant d’échantillonner les couleurs sur l’écran?

[Mise à jour] L’échantillonnage n’est pas une approche utile si le menustrip peut être redimensionné

Était-ce utile?

La solution

Le rendu de la bande d’outils dessine un dégradé entre deux couleurs définies dans le fichier ProfessionalColorTable qui est passé dans le ToolStripProfessionalRenderer constructeur. Il utilise les MenuStripGradientBegin et < a href = "http://msdn.microsoft.com/en-us/library/system.windows.forms.professionalcolortable.menustripgradientend.aspx" rel = "aucune erreur", les valeurs MenuStripGradientEnd .

Vous devez donc récupérer ces deux valeurs, puis dessiner votre arrière-plan de manière appropriée en tant que dégradé linéaire.

Autres conseils

J'échantillonne les couleurs avec Paint.Net: effectuez une capture d'écran de tout l'écran ou de la fenêtre, puis utilisez Paint.Net pour échantillonner la couleur.

L'arrière-plan de ToolStrip (c'est-à-dire, MenuStrip, StatusStrip, etc.) n'est pas codé en dur. Recherchez " ToolStripRender " classes et classes dérivées "ToolStripSystemRenderer" et "ToolStripProfessionalRender". Ils ont plusieurs méthodes pour dessiner des parties de ToolStrip.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top