1
我有一个标记为ToolStripDropDown控件“选项”在这里:Windows窗体:ToolStripDropDown - 删除或喷漆边框
我想要么删除边框或油漆它一定的色差,使其齐平。我是否需要一个新的渲染器或其他东西来执行此操作?我一直无法在网上找到一个例子。
我有一个标记为ToolStripDropDown控件“选项”在这里:Windows窗体:ToolStripDropDown - 删除或喷漆边框
我想要么删除边框或油漆它一定的色差,使其齐平。我是否需要一个新的渲染器或其他东西来执行此操作?我一直无法在网上找到一个例子。
是的,你必须让自己的渲染器:
public class BorderlessRenderer : ToolStripProfessionalRenderer {
public BorderlessRenderer() {
RoundedEdges = false;
}
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) {
//base.OnRenderToolStripBorder(e);
}
}
然后将其应用到你的ToolStrip控件:
toolStrip1.Renderer = new BorderlessRenderer();
当我这样做,我看到构造函数被调用,但没有每个被调用的“OnRender ...”方法。我甚至尝试在工具条上触击Refresh()。 – RedLeader
@RedLeader我刚刚测试过它,我的调试器停在OnRenderToolStripBorder行。确保您将tooltrip的Renderer属性设置为使用自定义类。 – LarsTech
感谢您的帮助。我对这个问题做了更深入的讨论,并没有对这里的方法进行解释:http://stackoverflow.com/questions/43193943/toolstriprenderer-not-firing-virtual-methods。只是为了确认,我确实做了任务。 – RedLeader