加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – toolStrip有menuStrip渐变背景

发布时间:2020-12-15 21:55:54 所属栏目:百科 来源:网络整理
导读:我有一个带有菜单和顶部工具条的表单. menuStrip具有漂亮的渐变背景,如何在toolStrip控件上获得相同的效果?我知道RenderMode属性,但更改它没有所需的结果. 解决方法 您可以使用自定义渲染器实现此目的. public class CustomToolStripRenderer : ToolStripPr
我有一个带有菜单和顶部工具条的表单. menuStrip具有漂亮的渐变背景,如何在toolStrip控件上获得相同的效果?我知道RenderMode属性,但更改它没有所需的结果.

解决方法

您可以使用自定义渲染器实现此目的.

public class CustomToolStripRenderer : ToolStripProfessionalRenderer
{
    public CustomToolStripRenderer() { }

    protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e)
    {
        //you may want to change this based on the toolstrip's dock or layout style
        LinearGradientMode mode = LinearGradientMode.Horizontal;

        using (LinearGradientBrush b = new LinearGradientBrush(e.AffectedBounds,ColorTable.MenuStripGradientBegin,ColorTable.MenuStripGradientEnd,mode))
        {
            e.Graphics.FillRectangle(b,e.AffectedBounds);
        }
    }
}

然后设置工具条以使用此渲染器的实例.

public Form1()
{
    InitializeComponent();

    CustomToolStripRenderer r = new CustomToolStripRenderer();
    r.RoundedEdges = false;

    toolStrip1.Renderer = r;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读