I think what you want is that when you set the background of one button, you want to unset the background of the previously highlighted one. Is that correct?
If so, it's simple, but you need to store the previously highlighted one somewhere, otherwise you have no way to reference it!
Control highlightedControl;
Color previousBackground;
void buttonClickHandler(object sender, EventArgs ea){
Control c = sender as Control;
if(c != highlightedControl){
if(null != highlightedControl) highlightedControl.BackColor = previousBackground;
previousBackground = c.BackColor;
highlightedControl = c;
c.BackColor = Color.Red;
}
}
(Edit: this text here only to make the brace appear in the right place)