Изменить TextColor отключенного элемента управления - PullRequest
4 голосов
/ 07 декабря 2010

Как изменить цвет текста, когда элемент управления отключен. Я хочу установить другой цвет, когда элемент управления отключен в c # winforms.

Ответы [ 3 ]

3 голосов
/ 07 декабря 2010

Редактировать: я сделал ту же ошибку, что и Коди в комментариях, поэтому исправил мой ответ.

Зависит от того, какой это контроль.

Например, если это TextBox, возможно, вы могли бы сделать его ReadOnly вместо отключенного. А для некоторых других элементов управления вы могли бы делать подобные вещи, чтобы они выглядели отключенными, но фактически не были отключены.

Однако, если вы хотите сделать это правильно, вам нужно заставить их рисовать владельцем или переопределить событие OnPaint и нарисовать текст самостоятельно.

1 голос
/ 07 декабря 2010

Вы можете просто сделать это вручную - когда вы отключаете элемент управления, просто тоже меняете цвет текста?

0 голосов
/ 07 декабря 2010

Если у вас много элементов управления, вы можете сделать это:

  • прикрепить форму OnChildAdded к событию
  • в случае использования, если ... имеет структуру типа для определения типа элемента управления
  • в зависимости от типа элемента управления, зарегистрировать собственное событие OnEnabledChange
  • в случае, измените цвет текста соответственно

Таким образом, у вас будет фрагмент кода, который будет работать для всех ваших форм и постепенно расширяться для использования всех необходимых вам элементов управления.

Я предоставлю код, если вы так хотите ...

...