Search code examples
c#contextmenustriptext-alignment

ContextMenuStrip text alignment C#


Hi
Does anybody know how we can align the text in the ContextMenuStrip (in WinForms) to the center? thanks!


Solution

  • Implement custom ToolStripRenderer (use one of 2 standard to minimize code):

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

    And use it:

    ToolStripManager.Renderer = new CustomRenderer();
    

    Note though that this is not standard Windows GUI menu item layout which users expect.