2010-06-15 6 views
2

Les menus contextuels semblent avoir un arrière-plan blanc par défaut.
Cela semble plutôt bien, mais par souci de cohérence, j'aimerais que le menu contextuel soit gris comme avec n'importe quelle autre application. Comment puis-je obtenir ce style pour mon menu contextuel?Création de WinForm ContextMenu Arrière-plan Gris?

+0

Utilisez-vous ContextMenu ou ContextMenuStrip? Ne les mélange pas. –

+0

J'utilise ContextMenuStrip, ContextMenu ne semble pas être disponible Visual C# 2008 est ce que j'utilise. – sooprise

Répondre

2

Jetez un oeil à my answer pour une autre question similaire sur les éléments de menu. Ce que vous devez faire est d'utiliser un ContextMenu au lieu d'un ContextMenuStrip. Cela va ramasser les couleurs par défaut (c'est-à-dire gris) et les styles définis dans le système d'exploitation sous-jacent au lieu de ses propres couleurs et styles définis.

+0

J'utilise Visual C# 2008, et ContextMenuStrip est la seule option dans la boîte à outils (ContextMenu ne semble pas être là) – sooprise

+0

@Soo: Si vous lisez ma réponse liée ci-dessus, il vous indique comment ajouter 'ContextMenu' dans la boîte à outils. – adrianbanks

+0

Ahh, j'aurais dû lire plus attentivement, merci! – sooprise

2
contextMenuStrip1.BackColor = Color.Pink; 

Mettez ça dans le gestionnaire onLoad, ou allez dans les propriétés et changer le BackColor là: o)

+0

Ok, cool! mais ... le menu contextuel est plat, et les autres semblent avoir de la profondeur. Je veux juste que mon menu contextuel ressemble à tous les autres. – sooprise

+0

En définissant explicitement une couleur d'arrière-plan, vous obligez un utilisateur à avoir cette couleur, même s'il change son style Windows pour quelque chose de différent. – adrianbanks