Проблема в том, что кнопки, которые вы уронили в форму перед редактированием класса, уже инициализируются вызовом формы InitializeComponent () другого цвета. Другими словами, они переопределяют цвет по умолчанию, который вы установили в конструкторе. Что вам нужно сделать, так это объявить значение свойства по умолчанию, чтобы конструктор не генерировал назначение. Это должно выглядеть так:
using System;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
class MyButton : Button {
public MyButton() {
BackColor = Color.Blue;
}
[DefaultValue(typeof(Color), "Blue")]
public override Color BackColor {
get { return base.BackColor; }
set { base.BackColor = value; }
}
}