It can be done, as far as I know, with your method, but I guess that you have to refresh the control.
btnExit.Refresh();
EDIT:
First set your button FlatStyle to Flat.
this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
Then make two functions called btnExit_MouseHover and btnExit_MouseLeave:
void btnExit_MouseHover(object sender, EventArgs e)
{
btnExit.BackColor = Color.FromArgb(20, 63, 63, 63);
btnExit.Refresh();
}
void btnExit_MouseLeave(object sender, EventArgs e)
{
btnExit.BackColor = Color.FromArgb(100, 63, 63, 63);
btnExit.Refresh();
}
To activate these functions add two EventHandlers:
btnExit.MouseHover += new EventHandler(btnExit_MouseHover);
btnExit.MouseLeave += new EventHandler(btnExit_MouseLeave);
This will do the trick, now you only have to change the backcolor to the one you like ;).