gpt4 book ai didi

c# - 如何删除 MenuStrip 控件下绘制的白线?

转载 作者:太空狗 更新时间:2023-10-29 21:14:47 29 4
gpt4 key购买 nike

我阅读了一些关于人们如何自定义 MenuStrip 的颜色和渐变的其他文章。

我想要做的是删除渐变,使 MenuStrip 与表单的其余部分颜色相同,对我来说,这是创建新 WinForms 项目时使用的默认设置。我尝试将 RenderMode 更改为“System”,它可以正常工作,但是当我构建并运行它时,它会在 MenuStrip 的长度上留下一条白线。我必须做一些绘画吗?或者有更简单的方法吗?

最佳答案

这基本上与 one 相同的问题

答案引用了这个 Microsoft bug post

这似乎是从 2005 年开始就一直存在的问题。尽管评论说这是一个不会修复的 MS 错误,但有一个解决方法涉及实现您自己的渲染器:

public class MySR : ToolStripSystemRenderer
{
public MySR()
{
}

protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
//base.OnRenderToolStripBorder(e);
}
}

然后您所要做的就是将菜单条的渲染器设置为您刚刚实现的渲染器:

menustrip1.Renderer = new MySR();

我刚刚试了一下,它似乎工作得很好。

关于c# - 如何删除 MenuStrip 控件下绘制的白线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5012107/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com