Я задавал очень похожий вопрос раньше, но на этот раз речь идет не о синтаксисе VB, а о лучшем подходе.Я делаю метод, который при передаче компонента перекрашивает его и все компоненты, содержащиеся в нем.Ниже приведен код, который у меня есть, но он перекрашивает не все компоненты, а всего лишь несколько.Моя основная проблема - кнопки, которые остаются в своих «трехмерных» стилях и не становятся «плоскими».
If TypeOf comp Is System.Windows.Forms.ButtonBase Then
Dim c As System.Windows.Forms.ButtonBase
c = comp
c.FlatStyle = Windows.Forms.FlatStyle.Flat
c.BackColor = getColor(style, PART_BOX)
c.ForeColor = getColor(style, PART_TEXT)
comp = c
End If
Передан компонент comp
, а метод getColor
просматривает базу данных и возвращает цветсоответствует параметру part
, переданному методу.Это работает для всех низкоуровневых компонентов и всех простых компонентов, таких как метки.
Как видите, это не мой предпочтительный результат. Кто-нибудь знает, как перекрасить счетчики, кнопки и строки меню? Опять же, мне нужна кнопка, чтобы в итоге она оказалась плоской .