我在 C# 应用程序中有一个 ToolStrip,我将背景颜色设置为透明。这揭示了底层表单的颜色,但不幸的是 ToolStrip 边框仍然可见。
我已经实现了一个自定义渲染器并重写了 DrawBoarder 方法以不绘制任何东西,但这似乎也适用于所有包含的按钮(即下拉按钮上的菜单也绘制没有边框)。
所以我被困住了。绘制透明整个 ToolStrip 但不理会按钮的最佳方法是什么?
我试过只是覆盖 OnRenderToolStripBorder 方法,它似乎根本不影响按钮。你试过这样吗?
public class TestStripRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
}
}
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
if( e.ToolStrip.GetType().Name != "MyCustomToolStrip" )
{
base.OnRenderToolStripBorder(e);
}
}
由于您试图隐藏工具条但保留按钮,因此我必须将其放在那里。
你甚至需要工具条吗?
如果您只使用应用程序中的按钮而不使用看似不需要的工具条,那可能会更好。