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

时间:2011-03-09 12:40:37

标签: c# .net drawing toolstrip

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

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

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

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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

你甚至需要工具条吗?

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