如何在c#中将复选框颜色更改为深灰色(禁用类似)?

如何在c#中将复选框颜色更改为深灰色(禁用类似)?,c#,winforms,checkbox,C#,Winforms,Checkbox,我制作了自定义复选框树,我希望第一个复选框是深灰色而不是白色(复选框本身不是他的文本…) *。自定义复选框树是在表单中不同位置排序的多个复选框 我该怎么做呢?我认为没有直接的方法。但是,您可以使用按钮和标签创建自己的复选框 在“button1\u Click”等事件中更改按钮背景图像或颜色 在事件内部,您可以制作一个标记,说明是否选中了它,并在每次单击事件时更改它。当标志为“真”时,背景图像将为带“V”的图像,当标志为“假”时,背景图像将更改为不带“V”的图像 您可以检查标志是否为真,而不是调用

我制作了自定义复选框树,我希望第一个复选框是深灰色而不是白色(复选框本身不是他的文本…)

*。自定义复选框树是在表单中不同位置排序的多个复选框


我该怎么做呢?

我认为没有直接的方法。但是,您可以使用按钮和标签创建自己的复选框

在“button1\u Click”等事件中更改按钮背景图像或颜色

在事件内部,您可以制作一个标记,说明是否选中了它,并在每次单击事件时更改它。当标志为“真”时,背景图像将为带“V”的图像,当标志为“假”时,背景图像将更改为不带“V”的图像

您可以检查标志是否为真,而不是调用checkBox1.Checked


(来源:)

如果你需要帮助制作这两张图片,你可以给我发电子邮件,我会帮你的

代码可以如下所示:

//"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,并使图像居中或拉伸。

您可能应该标记此WinForms是否要禁用它?或者只是改变它的颜色?