#c# #winforms #checkbox
#c# #winforms #флажок
Вопрос:
я создал пользовательское дерево флажков и хочу, чтобы первый флажок был темно-серого цвета вместо белого (сам флажок, а не его текст ..)
*. пользовательское дерево флажков — это несколько флажков, расположенных в разных местах формы..
как я могу это сделать?
Комментарии:
1. Вероятно, вам следует пометить этот WinForms
2. Вы имеете в виду отключить его? Или просто изменить его цвет?
Ответ №1:
Я не думаю, что есть прямой способ сделать это. Однако вы можете создать свой собственный флажок, используя кнопку и метку.
Измените фоновое изображение или цвет кнопки для таких событий, как «button1_Click».
Внутри события вы можете создать флаг, указывающий, установлен он или нет, и изменять его при каждом событии щелчка. Когда флаг имеет значение «true», фоновым изображением будет изображение с буквой «V», а когда оно «false», оно будет изменено на изображение без буквы «V».
Вместо вызова checkBox1.Checked вы можете проверить, является ли флаг true или false .
(источник: катцер в www.uni-graz.at)
если вам нужна помощь в создании 2 изображений, вы можете написать мне по электронной почте, и я это сделаю.
Код может быть таким:
//"checked" and "notChecked" are the images names.
private void button1_Click(object sender, EventArgs e)
{
if(checkedFlag == true)
{
button1.BackgroundImage = Properties.Resources.notchecked;
checkedFlag = false;
}
else
{
button1.BackgroundImage = Properties.Resources.checked;
checkedFlag = true;
}
}
Вам нужно только установить начальное значение флага как false и сделать изображение центрированным или растянутым.