这是显示问题的图片。请看右下角。
有人知道如何去掉它吗?
将
我只想要一个垂直堆栈,就像图片中那样,但没有右下角的黑线。
有人知道如何去掉它吗?
将
LayoutStyle
设置为 VerticalStackWithOverflow
可以解决问题,但也会水平居中项目,这不是我想要的。我只想要一个垂直堆栈,就像图片中那样,但没有右下角的黑线。
很抱歉来晚了,但被接受的答案不能满足我的需求。以下解决方案是我想出来的:
1)创建自定义渲染器:
class CustomToolStripProfessionalRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
// Don't draw a border
}
}
2)使用自定义渲染器:
toolStrip1.Renderer = new CustomToolStripProfessionalRenderer();
上述解决方案满足了原问题的需求,但我不喜欢 ToolStrip 上的渐变背景。我希望 ToolStrip 成为一个“无形”的容器:
1)创建自定义颜色表:
class CustomProfessionalColorTable : ProfessionalColorTable
{
public override Color ToolStripGradientBegin
{
get { return SystemColors.Control; }
}
public override Color ToolStripGradientMiddle
{
get { return SystemColors.Control; }
}
public override Color ToolStripGradientEnd
{
get { return SystemColors.Control; }
}
}
2) 使用自定义颜色表:
class CustomToolStripProfessionalRenderer : ToolStripProfessionalRenderer
{
public CustomToolStripProfessionalRenderer()
: base(new CustomProfessionalColorTable())
{
}
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
// Don't draw a border
}
}
.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
这样做将会把.BackColor更改为"Control",但如果您想要的话,之后可以更改它。
我认为你最好的选择是在属性中将RenderMode
设置为System
,并将布局属性保留为HorizontalStackWithOverflow
。但是如果你不介意改变工具提示绘制样式的话。