Winform MenuStrip 更改选择背景色

一、自定义MenuStrip render

项目时,觉得自带菜单项选中颜色与项目不匹配,想要更改,多方查询总结出方法。

初始化时 将this.menustrip1.render=new myselfrender();设置为自己重写的render类。

public class CustomProfessionalRenderer:ToolStripProfessionalRenderer
    {
        Font textFont = new System.Drawing.Font("微软雅黑", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
        private Color menuItemSelectedColor = Color.Gray;
        private Color menuItemBorderColor = Color.Black;
        /// <summary>
        /// Initialize a new instance of the Visual Studio MenuBarRenderer class.
        /// </summary>
        public CustomProfessionalRenderer()
            : base(new MenuBarColor())
        {
            this.menuItemSelectedColor = Color.LightSteelBlue;
            this.menuItemBorderColor = Color.LightSteelBlue;

        }
        protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
        {
            e.TextFont = textFont;

            base.OnRenderItemText(e);
        }
        #region Backgrounds
        protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
        {           
            if (e.Item.IsOnDropDown)
            {
                if (e.Item.Selected == true && e.Item.Enabled)
                {
     
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值