Я использую CustomButton и CustomLabel, полученные из Button и Label. У них есть дополнительная функциональность, которая мне нужна.
Визуальная разница минимальна, но я не знаю, как .NET рассчитывает отключенные цвета Winforms.
Вы можете получить цвет из System.Drawing.SystemColors. Например, для метки или текста в отключенном элементе управления требуется эквивалент COLOR_GRAYTEXT (из API окон GetSysColor), то есть System.Drawing.SystemColors.GrayText.
См. Описание системных цветов в справке для GetSysColor