C#ToolStrip是透明的,但边框仍然可见?

我在C#应用程序中有一个ToolStrip,我将背景颜色设置为Transparent。 这揭示了底层forms的颜色,但遗憾的是ToolStrip边框仍然可见。

我已经实现了一个自定义渲染器,并覆盖了DrawBoarder方法,不绘制任何东西,但这似乎也适用于所有包含的按钮(即下拉按钮上的菜单也没有边框绘制)。

所以我被卡住了。 绘制透明整个ToolStrip但保留按钮的最佳方法是什么?

protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { if( e.ToolStrip.GetType().Name != "MyCustomToolStrip" ) { base.OnRenderToolStripBorder(e); } } 

我试过重写OnRenderToolStripBorder方法,它似乎根本不影响按钮。 你试过这样的吗?

 public class TestStripRenderer : ToolStripProfessionalRenderer { protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { } } 

既然你试图隐藏工具条但保留按钮,我必须把它放在那里。

你甚至需要工具条吗?

如果您只使用应用程序中的按钮而没有看似不需要的工具条,可能会更好。