4

我在 C# 应用程序中有一个 ToolStrip,我将背景颜色设置为透明。这揭示了底层表单的颜色,但不幸的是 ToolStrip 边框仍然可见。

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

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

4

3 回答 3

5

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

public class TestStripRenderer : ToolStripProfessionalRenderer
{   
    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
    {
    }
}
于 2011-03-09T13:03:57.917 回答
2
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
    if( e.ToolStrip.GetType().Name != "MyCustomToolStrip" )
    {
        base.OnRenderToolStripBorder(e);
    }
}
于 2011-03-09T18:21:09.380 回答
0

由于您试图隐藏工具条但保留按钮,因此我必须将其放在那里。

你甚至需要工具条吗?

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

于 2011-03-09T13:01:18.157 回答