Вы должны использовать событие EnabledChanged, чтобы установить желаемый цвет. Вот пример.
private void Button1_EnabledChanged(object sender, System.EventArgs e)
{
Button1.ForeColor = sender.enabled == false ? Color.Blue : Color.Red;
Button1.BackColor = Color.AliceBlue;
}
используйте нужные цвета в соответствии с вашим требованием.
Кроме того, необходимо использовать событие рисования.
private void Button1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
dynamic btn = (Button)sender;
dynamic drawBrush = new SolidBrush(btn.ForeColor);
dynamic sf = new StringFormat {
Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center };
Button1.Text = string.Empty;
e.Graphics.DrawString("Button1", btn.Font, drawBrush, e.ClipRectangle, sf);
drawBrush.Dispose();
sf.Dispose();
}
Вы хотите, чтобы цвет текста отображался как активированный или цвет фона? – Harsh
Цвет текста как активированный и обратный цвет как активированный - на самом деле для некоторых кнопок все, как при активации ... – user2500179
Увидев пользователя, удаляющегося кнопкой, которая была отключена, но не * выглядела * отключена, является трагедией пользовательского интерфейса. Вы не получите никакой помощи от Winforms, чтобы вызвать такую трагедию, она реализует правила руководства по дизайну пользовательского интерфейса. Правила, которыми знаком каждый пользователь. Вам нужно будет создать свою собственную трагедию с помощью собственного управления кнопками. –