Winforms - Как контролировать цвета флажка (аналогично текстовому полю только для чтения) - PullRequest
2 голосов
/ 09 июля 2009

Для флажка я могу установить .Enabled = False, чтобы выделить прямоугольник флажка и соответствующую метку серым цветом. Но внешний вид не выглядит привлекательным, т. Е. И ярлык, и флажок становятся «слабыми»; (Я знаю, что могу использовать свой собственный лейбл, но это только половина решения).

Если я установил .AutoCheck = False, цвета останутся нормальными, однако пользователь не поймет, что этот флажок доступен только для чтения.

Хочу, я хочу, это какой-то способ явно контролировать цвет фона прямоугольника и цвет галочки, которая входит в него.

Это слишком много, чтобы спросить? (Подумайте над текстовым полем, я могу выделить фон серым цветом, а текст все еще может быть любого цвета, который я хочу!)

Ответы [ 3 ]

2 голосов
/ 09 июля 2009

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

1 голос
/ 09 июля 2009

Самым простым решением для вас, вероятно, было бы поставить метку без текста за флажком. Вы можете установить любой цвет метки, а также использовать свойство AutoCheck в CheckBox.

0 голосов
/ 09 июля 2009

Изменяя внешний вид отключенного флажка, вы путаете конечного пользователя.

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

Я советую не пытаться изменить внешний вид, а стараться, чтобы приложение более плавно вписывалось в ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...