C#, BindingNavigator, Гадкая линия на правом конце
Как мне избавиться от этой уродливой линии?
Нарисуйте привязку по умолчанию на пустой Форме, и вы увидите проблему. RenderMode - это ManagerRenderMode. Я хочу этот режим рендера, чтобы навести курсор на цвета. Тем не менее, если я переключаюсь на System в режиме рендеринга, уродливая линия исчезает, но при наведении мыши на цвет / эффект становится уродливой.
Я уже некоторое время ищу решение, но ничего. Может быть, кто-то здесь видел эту проблему раньше?
1 ответ
Это не BindingNavigator
конкретная проблема, но ToolStrip
который BindingNavigator
наследует.
Это вызвано DrawToolStripBorder
метод, когда ToolStripProfessionalRenderer
учебный класс RoundedEdges
свойство true
(по умолчанию).
Чтобы отключить его, я могу предложить следующий вспомогательный метод:
public static class WindowsFormsExtensions
{
public static void DisableRoundedEdges(this ToolStripRenderer renderer)
{
var professionalRenderer = renderer as ToolStripProfessionalRenderer;
if (professionalRenderer != null)
professionalRenderer.RoundedEdges = false;
}
}
Теперь вы можете отключить его для определенного элемента управления (он недоступен во время разработки, поэтому он должен быть во время выполнения внутри конструктора формы / элемента управления или события load):
this.bindingNavigator1.Renderer.DisableRoundedEdges();
или чтобы отключить его глобально, добавьте следующее в Main
метод перед вызовом Application.Run
:
ToolStripManager.Renderer.DisableRoundedEdges();