Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
3 / 2 / 1
Регистрация: 02.04.2016
Сообщений: 15
1

Цвет подсветки ToolStripMenuItem

03.02.2018, 09:07. Показов 1481. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужен реальный код (пример) в VB.NET :как убрать или поменять цвет подсветки при наведении мыши в ToolStripMenuItem

Заранее благодарен
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2018, 09:07
Ответы с готовыми решениями:

Отключение подсветки для ToolStripMenuItem
что только уже не перечитал, так и не выходит ничего. как сделать так, чтобы при наведении на...

Клик одного ToolStripMenuItem должен вызвать код другого ToolStripMenuItem
Добрый день всем! Подскажите пожалуйста, кто может! C# В форме есть меню, по нажатию мышью...

Динамическое создание ToolStripMenuItem: Нельзя применить индексацию к ToolStripMenuItem
Пробовал стандартными методами, вышла ошибка, что нельзя применить индексацию к ToolStripMenuItem....

Как поменять цвет подсветки кнопки
Всем привет! Подскажите пожалуйста, как поменять цвет подсветки кнопки, а то по-умолчанию она...

3
Лень — мое второе и
3206 / 2397 / 684
Регистрация: 28.11.2014
Сообщений: 3,587
Записей в блоге: 3
06.02.2018, 11:09 2
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

vld_inz, В Form_load добавить
VB.NET
1
MenuStrip1.Renderer = New MyRenderer()
А так же добавить класс
VB.NET
1
2
3
4
5
6
7
8
9
10
Public Class MyRenderer
    Inherits ToolStripProfessionalRenderer
    Protected Overloads Overrides Sub OnRenderMenuItemBackground(ByVal e As ToolStripItemRenderEventArgs)
        Dim rc As New Rectangle(Point.Empty, e.Item.Size)
        Dim c As Color = IIf(e.Item.Selected, Color.Azure, Color.Beige)
        Using brush As New SolidBrush(c)
            e.Graphics.FillRectangle(brush, rc)
        End Using
    End Sub
End Class
2
3 / 2 / 1
Регистрация: 02.04.2016
Сообщений: 15
08.02.2018, 03:05  [ТС] 3
Большое спасибо за помощь
"Как всё просто, гениально и непонятно" - выражаясь словами одного из героев фильма "Отроки во Вселенной"

Непонятно:Inherits, Overloads Overrides, Using

Тема "Классы, конструктор" мне знакома поверхностно. Но как вижу - без этого никак. Какую литературу посоветуете?

И последнее - можно ли сотворить нечто похожее для ComboBox (я сделал через событие DrawItem), но Ваш вариант - интереснее



Private Sub ОбрКатегор_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ОбрКатегор.DrawItem
Call ОбновВыбора.Выбор(e, ОбрКатегор)
End Sub

Module ОбновВыбора

Sub Выбор(ByVal ie As System.Windows.Forms.DrawItemEventArgs, ByVal Comb As ComboBox)
If ie.Index < 0 Then Exit Sub

ie.DrawBackground()

Dim bcolor As Color = If(((ie.State And DrawItemState.Selected) = DrawItemState.Selected Or (ie.State And DrawItemState.Focus) = DrawItemState.Focus), _
Color.FromArgb(0, 130, 0), _
Comb.BackColor)


ie.Graphics.FillRectangle(New SolidBrush(bcolor), ie.Bounds)

ie.Graphics.DrawString(Comb.Items.Item(ie.Index).ToString, _
Comb.Font, _
New SolidBrush(Comb.ForeColor), _
ie.Bounds, _
New StringFormat With {.Alignment = StringAlignment.Near, _
.LineAlignment = StringAlignment.Center, _
.Trimming = StringTrimming.None, _
.FormatFlags = StringFormatFlags.NoWrap})


End Sub


End Module
0
Лень — мое второе и
3206 / 2397 / 684
Регистрация: 28.11.2014
Сообщений: 3,587
Записей в блоге: 3
08.02.2018, 12:48 4
vld_inz, Если такой способ и есть, то мне он неведом) Combobox вроде как можно перерисовывать только через DrawItem. Литературу никакую, к сожалению, не посоветую, так как сам не читал. Посмотрите здесь Литература и ресурсы по Visual Basic .NET
0
08.02.2018, 12:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2018, 12:48
Помогаю со студенческими работами здесь

Что за системный цвет используется для подсветки выбранной, но неактивной ячейки в StringGrid в Win10?
Что за системный цвет используется для подсветки выбранной, но неактивной ячейки в StringGrid, если...

ToolStripMenuItem
Создал ToolStripMenuItem ts = new ToolStripMenuItem(&quot;игры&quot;); Добавил элементы...

ToolStripMenuItem
Здравствуйте не подскажите как выяснить какой пункт меню в ToolStripMenuItem пользователь выбрал

Выбранный ToolStripMenuItem
Есть список: private List&lt;System.Windows.Forms.ToolStripMenuItem&gt; items = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru