Winclient использует элементы управления GUI (BaseForm, BaseTextBox, BaseComboBox) из отдельного проекта GUI, который также используется в других проектах
Эти элементы управления изменяют цвет фона на желтоватый, когда они сфокусированы и сохраняют своистарый backgroundcolor, когда фокус уходит.(события onEnter и OnLeave)
Теперь этот эффект позволяет пользователям выбирать собственный цвет фокуса.Я знаю, что могу напрямую установить свойство «FocusColor» для всех элементов управления, но это не то, что я хочу (есть много элементов управления)
Какой наилучший подход?Я подумал, что, может быть, мне удастся внедрить какой-то «CustomColorProvider» в элементы управления и переписать проект GUI, чтобы получить фокусный цвет из «StandardColorProvider».Но я не совсем понимаю, как эти элементы управления должны вводить свой «CustomColorProvider».(Я не очень разбираюсь в DI). Элементы управления добавляются через конструктор, а создание элементов управления выполняется автоматически сгенерированным кодом «частичный класс конструктора»
.winclient, который наследует от проекта GUI, а затем переопределяет методы, в которых установлен focuscolor?
У меня есть доступ и я могу изменять как winclient, так и проект GUI.