2To*_*oad 13
很抱歉迟到了,但接受的答案对我的需求不起作用.以下解决方案是我提出的:
1)创建自定义渲染器:
class CustomToolStripProfessionalRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
// Don't draw a border
}
}
Run Code Online (Sandbox Code Playgroud)
2)使用自定义渲染器:
toolStrip1.Renderer = new CustomToolStripProfessionalRenderer();
Run Code Online (Sandbox Code Playgroud)
上面的解决方案满足了原始问题的需要,但我也不喜欢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; }
}
}
Run Code Online (Sandbox Code Playgroud)
2)使用自定义颜色表:
class CustomToolStripProfessionalRenderer : ToolStripProfessionalRenderer
{
public CustomToolStripProfessionalRenderer()
: base(new CustomProfessionalColorTable())
{
}
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
// Don't draw a border
}
}
Run Code Online (Sandbox Code Playgroud)
Dra*_*rat 12
在属性栏中,将"RenderMode"设置为"System"或使用
.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
Run Code Online (Sandbox Code Playgroud)
这样做会将.BackColor更改为"Control",但您可以根据需要更改.