I am trying to set the disabled font characteristics for a Label Control. I can set all of the Font characteristics (size, bold, etc), but the color is overridden by the default windows behavior which seems to be one of these two colors:
- If background color is transparent then ForeColor is same as TextBox disabled Color.
- If background color is set to anything else, ForeColor is a Dark Gray color.
The image below demonstrates the behavior — Column 1 is Labels, Column 2 is TextBoxs, and Column 3 is ComboBoxes.

Edit — Explaining the image: The first two rows are default styles for a label, textbox, and combobox. In the second two rows, I set the Background color to Red and Foreground to White. The disabled font style handling by Microsoft is inconsistent.
Take a look at the ControlPaint.DrawStringDisabled method; it might be something helpful. I’ve used it when overriding the OnPaint event for custom controls.