C# 删除BindingNavigator上的下划线行

C# 删除BindingNavigator上的下划线行,c#,winforms,controls,C#,Winforms,Controls,当我将BindingNavigator添加到表单时,它下面会显示一行。我怎样才能摆脱那条线 我已经查看了属性中的所有设置,但我不知道如何摆脱该行。我也在网上查过,什么也找不到,但我不是唯一一个想删除它的人。有什么建议吗?如果不实现一个子类并重写OnPaint,或者在替换或修改内置渲染时进行一些其他操作,您可能无法做到这一点。这种方法的问题是BindingNavigator可能是一个复合控件,这意味着有一组按钮控件和文本框控件等,它们都自己处理渲染的一部分。完全靠自己渲染控件是很困难的。您可以尝

当我将BindingNavigator添加到表单时,它下面会显示一行。我怎样才能摆脱那条线


我已经查看了属性中的所有设置,但我不知道如何摆脱该行。我也在网上查过,什么也找不到,但我不是唯一一个想删除它的人。有什么建议吗?

如果不实现一个子类并重写
OnPaint
,或者在替换或修改内置渲染时进行一些其他操作,您可能无法做到这一点。这种方法的问题是BindingNavigator可能是一个复合控件,这意味着有一组按钮控件和文本框控件等,它们都自己处理渲染的一部分。完全靠自己渲染控件是很困难的。

您可以尝试创建自己的渲染器,在其中忽略渲染边框:

public class BorderlessRenderer : ToolStripRenderer {
  protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) {
    //base.OnRenderToolStripBorder(e);
  }
}
然后从代码中,您可以将其应用于导航器:

public Form1() {
  InitializeComponent();
  bindingNavigator1.Renderer = new BorderlessRenderer();  
}

不幸的是,我认为这种方法也可能隐藏分隔线。

这正是我所想的。