【问题标题】:mouseover event for menustripitemmenustripitem 的 mouseover 事件
【发布时间】:2011-11-16 22:18:58
【问题描述】:

我的菜单条中有一些菜单条项。我想在鼠标在菜单条项上时设置菜单条项的颜色。是否可以为菜单条项设置鼠标悬停事件。

提前致谢。

【问题讨论】:

    标签: c# winforms mouseover menustrip


    【解决方案1】:

    您需要创建自己的渲染器并分配 MenuStrip.Renderer 属性。这是一个例子,它需要一些工作才能看起来更好:

    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
            menuStrip1.Renderer = new MyRenderer();
        }
        private class MyRenderer : ToolStripProfessionalRenderer {
            protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) {
                if (e.Item.Selected) {
                    e.Graphics.FillRectangle(Brushes.Bisque, e.Item.Bounds);
                }
                else base.OnRenderMenuItemBackground(e);
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      你应该使用 menustripitem 的 MouseEnter 事件。

      【讨论】:

        猜你喜欢
        • 2013-01-26
        • 2013-01-13
        • 2013-05-19
        • 2018-07-19
        • 2011-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-15
        相关资源
        最近更新 更多