C#,BindingNavigator,右端是丑陋的线条

时间:2018-01-11 12:27:11

标签: c# winforms datagridview bindingnavigator

如何摆脱这条难看的线?

enter image description here

在空表单上绘制默认的bindingnavigator,您将看到问题所在。 RenderMode是ManagerRenderMode。我想要这种渲染模式,所以鼠标在颜色上是正确的。但是,如果我切换到系统作为渲染模式,丑陋的线会消失,但是鼠标在颜色/效果上会变得难看。

我一直在寻找一段时间的解决方案,但没有。也许这里的某个人以前见过这个问题?

1 个答案:

答案 0 :(得分:2)

这不是BindingNavigator特定问题,而是ToolStrip继承的BindingNavigator

DrawToolStripBorderToolStripProfessionalRenderer属性为true(默认值)时,由RoundedEdges方法引起。

为了关闭它,我可以建议以下辅助方法:

public static class WindowsFormsExtensions
{
    public static void DisableRoundedEdges(this ToolStripRenderer renderer)
    {
        var professionalRenderer = renderer as ToolStripProfessionalRenderer;
        if (professionalRenderer != null)
            professionalRenderer.RoundedEdges = false;
    }
}

现在您可以为特定控件关闭它(它在设计时不可用,因此它必须在表单/控件构造函数或加载事件中运行时):

this.bindingNavigator1.Renderer.DisableRoundedEdges();

要全局停用它,请在调用Main之前在Application.Run方法中添加以下内容:

ToolStripManager.Renderer.DisableRoundedEdges();