menustripitem的mouseover事件

时间:2011-09-14 10:57:16

标签: c# winforms mouseover menustrip

我的menustrip中有一些menustrip项目。当鼠标在menustripitem上时,我想设置menustrip项目的颜色。是否可以为menustripitem设置mouseover事件。

先谢谢。

2 个答案:

答案 0 :(得分:2)

您需要创建自己的渲染器并分配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);
        }
    }
}

答案 1 :(得分:0)

您应该使用menustripitem的MouseEnter事件。