2010-12-09 22 views
1

Salut
Est-ce que quelqu'un sait comment nous pouvons aligner le texte dans le ContextMenuStrip (dans WinForms) au centre? merci!ContextMenuStrip alignement de texte C#

+0

Vous n'aimerez probablement pas cette question, mais pourquoi voudriez-vous faire cela? * Tous les autres menus du système (sauf si vous utilisez une disposition 'RightToLeft') ont le texte à gauche et le raccourci sur la droite. –

+0

@Cody Gray Parce que vous essayez d'émuler une interface utilisateur déjà tordue qui affiche déjà les menus de cette façon? Disons par exemple, une Alenia Marconi ATC RADAR UI? –

Répondre

3

Mettre en oeuvre la coutume ToolStripRenderer (utilisez l'un des 2 standard pour réduire au minimum le code):

public sealed class CustomRenderer : ToolStripProfessionalRenderer 
{ 
    protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) 
    { 
     if(e.Item.IsOnDropDown) 
     { 
      e.TextFormat |= TextFormatFlags.HorizontalCenter; 
     } 
     base.OnRenderItemText(e); 
    } 
} 

et de l'utiliser:

ToolStripManager.Renderer = new CustomRenderer(); 

Notez bien que ce n'est pas standard mise en page de l'élément de menu Windows GUI que les utilisateurs attendre.

+0

+1 parce que cela fonctionne. Et un +5 implicite pour noter que ce n'est pas ce que les utilisateurs attendent. –