C#, BindingNavigator, SplitButton, оставшиеся уродливые точки
Нарисуйте панель инструментов в пустой форме. Добавьте SplitButton на эту панель инструментов. Позже будет работать как кнопка входа в систему.
На этом SplitButton я хочу убрать выпадающий список в стартовой позиции. Единственное, что вы можете сделать, это войти в систему. После того, как вы вошли в систему, раскрывающийся список заполняется такими элементами, как "Изменить пароль", "Обновить профиль" и т. Д.
Я попытался поставить имущество:
loginButton.DropDownButtonWidth = 0;
это почти убирает выпадающий список, он исчез, но это очень уродливая точка справа, которая выглядит как один пиксель слева от выпадающего угла. Смотрите изображения ниже:
Я пробовал много других свойств, чтобы удалить раскрывающийся список, но без прогресса. И я не могу найти ничего подобного, когда я Google.
Несколько дней назад я получил отличную справку по устранению другой проблемы с полоской инструментов, у полосы инструментов тоже была проблема с рисованием в состоянии по умолчанию. но удаляется, если вы переопределите метод, см. этот пост:
Кто-нибудь знает, как я могу удалить некрасивую точку или убрать выпадающий каким-либо другим способом?
Полный исходный код, одна строка по существу с SplitButton с именем loginButton:
using System;
использование System.Windows.Forms;
пространство имен WindowsFormsApp1 {открытый частичный класс Form1: Form {public Form1 () {InitializeComponent (); }
private void Form1_Load(object sender, EventArgs e)
{
loginButton.DropDownButtonWidth = 0;
}
}
}
1 ответ
Вы можете использовать свой собственный рендер, чтобы попытаться достичь этого:
private class NoArrowRenderer : ToolStripProfessionalRenderer {
protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) {
if (e.Item.GetType() != typeof(ToolStripSplitButton)) {
base.OnRenderArrow(e);
}
}
}
Затем примените его к вашей ToolStrip:
toolStrip1.Renderer = new NoArrowRenderer();