Solution: Changing color of disabled checkbox or radioButton
Applies to: C#.NET/VB.NET (Windows Programming).
1. Making it gray
After being disabled, the checkbox and radiobutton control’s ForeColor turns contrast to the BackColor of the form.
This behavior is good because it increases the readability of your forms.
But in some cases this is really not desired.
So in that case you can make the CheckBox/RadioButton gray by setting its
BackColor = Color.Transparent
This will give you desired output.
2. Changing the ForeColor
Sorry I do not have anything to offer you on the front.
There is a private property to the control class which seems to be deciding the disable backcolor of the Checkbox/radioButton.
If anyone has any idea about this let me know.
If you found this post helpful then please share it.


This is exactly what i have been looking for thank you
June 8th, 2009 at 11:38 AMThank you, just what I needed
November 18th, 2009 at 4:20 AMSweet – cheers Jayvardhan
December 14th, 2009 at 4:43 PMFounds lots of hits when searching for this, but your suggestion is the only one that worked. Thanks!
May 7th, 2010 at 10:06 PMHello there,
The best thing that comes to my mind is place a checkbox without text and next to it a label with the text that should go in the checkbox. By doing that you can set the checkbox.enabled=false regardless the color of the label.
yes it’s a little trick but it works
March 2nd, 2011 at 2:43 AMThe problem with Arian’s solution is that clicking on the textbox control is not counted as clicking the checkbox/radio button so at best, extra events must be created to relay each click event from the textbox to it’s checkbox control.
This hack works well though, effortless.
September 8th, 2011 at 6:33 AM