Я нашел эту страницу, на которой описано, как изменить рендеринг для MenuStrip и его элементы.
Я хочу использовать это, но проблема в том, что цвет выделения при наведении курсора на кнопку не совпадает с ним.
Есть ли способ изменить цвет выделения с синего на желтый? Я пробовал использовать события MouseHover и MouseLeave, но по какой-то причине они очень медленные и меняют цвет кнопки на сплошной, что выглядит плохо, но оставляет границу на краю кнопки, которая не меняется. .
В дизайнере:
this.ButtonName.MouseHover += new System.EventHandler(button_mousehover);
А затем в Кодексе:
private void button_mousehover(object sender, EventArgs e)
{
Button btn = sender as Button;
btn.BackColor = Color.Yellow;
}
Есть ли что-нибудь более простое, как в ссылке, которую я разместил выше, чтобы изменить цвет выделения с синего на что-то другое?
Вот код для изменения отображения полосы меню:
private void myForm Load(object sender, EventArgs e)
{
myMenuStrip.Renderer = new MenuRenderer();
{
private class MenuRenderer : ToolStripProfessionalRenderer
{
public MenuRenderer() : base(new MyColors()) { }
}
private class MyColors : ProfessionalColorTable
{
public override Color MenuItemSelectedGradientBegin
{
get { return Color.Orange; }
}
public override Color MenuItemSelectedGradientEnd
{
get { return Color.Yellow; }
}
public override Color MenuItemPressedGradientBegin
{
get{ return Color.Yellow; }
}
public override Color MenuItemPressedGradientEnd
{
get { return Color.Orange; }
}
public override Color MenuItemSelected
{
get { return Color.Gold; }
}
}
Таким образом, он изменит фон наведенного элемента меню на оранжево-желтый градиент, изменит его на желто-оранжевый градиент при нажатии, и любой элемент в меню будет иметь золотую подсветку при наведении курсора.
Что я пытаюсь сделать, так это сделать последнюю часть (изменить выделение на золотой / желтый) для кнопок в моей форме.
MenuItem
s, я вижу их золото. - person Tomer   schedule 07.01.2015