2017-03-31 47 views

回答

1

是的,你必须让自己的渲染器:

public class BorderlessRenderer : ToolStripProfessionalRenderer { 

    public BorderlessRenderer() { 
    RoundedEdges = false; 
    } 

    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { 
    //base.OnRenderToolStripBorder(e); 
    } 
} 

然后将其应用到你的ToolStrip控件:

toolStrip1.Renderer = new BorderlessRenderer(); 
+0

当我这样做,我看到构造函数被调用,但没有每个被调用的“OnRender ...”方法。我甚至尝试在工具条上触击Refresh()。 – RedLeader

+1

@RedLeader我刚刚测试过它,我的调试器停在OnRenderToolStripBorder行。确保您将tooltrip的Renderer属性设置为使用自定义类。 – LarsTech

+0

感谢您的帮助。我对这个问题做了更深入的讨论,并没有对这里的方法进行解释:http://stackoverflow.com/questions/43193943/toolstriprenderer-not-firing-virtual-methods。只是为了确认,我确实做了任务。 – RedLeader