gpt4 book ai didi

c# - ToolStrip 圆角

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

我正在开发一个 Windows 窗体应用程序(C#、.NET 4.0、VS 2010),其中我有一个非常标准的 MainForm 和一个 ToolStrip(GripStyle:Hidden,Dock:Top,RenderMode:ManagerRenderMode)。工具条包含一些基本项(ToolStripLabel、ToolStripSeparator、ToolStripSplitButton)。

呈现如下:

ToolStrip rendered by default ManagerRenderMode

起初我只是想在工具条下方添加一个“底部”边框,但我也注意到这个工具条呈现为“圆角”(您可以在图像中看到右侧的顶部和底部) ), 和垂直渐变线。

如何让这些角不圆润?

我试过:

public class MainFormToolStripRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
base.OnRenderToolStripBorder(e);

var y = e.ToolStrip.Height-1;
e.Graphics.DrawLine(new Pen(SystemColors.ControlDark, 1), new Point(0, y), new Point(e.ToolStrip.Width, y));
}

并在我的表单初始化中通过 this.toolStrip_Actions.Renderer=new MainFormToolStripRenderer(); 连接起来。

这给了我底部边框,但没有为圆角做任何事情。此外,添加底部边框后,圆角更加明显:

ToolStrip rendered by custom ToolStripProfessionalRenderer

接下来,我尝试在上面的同一事件处理程序中绘制一个矩形,以尝试(至少)隐藏实心矩形边框后面的圆角和垂直渐变。这不起作用,因为可用的绘图区域 (e.AffectedBounds) 在圆形边框内。

我还尝试将 ToolStrip 的渲染模式设置为系统(并且不使用我的渲染器)。在这种情况下,工具条的角似乎很合适(矩形),但工具栏中的拆分按钮似乎已损坏(单击向下箭头不显示下拉菜单),原因尚不明,整体外观 n -感觉有点平淡(相当平淡,直到您将鼠标悬停在工具条中的某些按钮上)。

我想最后我宁愿坚持使用 ManageeRenderedMode,或者从 Professional 继承的自定义渲染器 - 但我需要摆脱圆角。其中,我找到了this SO Q这似乎与我正在查看的内容很接近,但没有为我的案例提供答案。

提前致谢

最佳答案

在你的渲染器类中试试这个:

public class MainFormToolStripRenderer : ToolStripProfessionalRenderer {

public MainFormToolStripRenderer() {
this.RoundedEdges = false;
}
}

关于c# - ToolStrip 圆角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13418721/

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