Самый простой способ - переопределить свойство Text кнопки и сделать его скрытым для сериализации дизайнера:
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public override string Text
{
get { return base.Text; }
set { base.Text = value; }
}
Дизайнер добавит имя кнопки по умолчанию, но при создании приложения будет отображаться ваш текст.
ОБНОВЛЕНИЕ: Другой (более сложный) способ - предоставить дизайнеру значение свойства по умолчанию для вашей кнопки. В этом случае вам нужна ссылка System.Design.dll, которая доступна только для полной версии .net framework (не версии профиля клиента).
Первое: создайте конструктор элементов управления для вашей кнопки
public class GoGreenButtonDesigner : System.Windows.Forms.Design.ControlDesigner
{
public override void OnSetComponentDefaults()
{
base.OnSetComponentDefaults();
Control.Text = "Go Green";
}
}
Последнее: добавить атрибут Designer в пользовательский класс кнопок
[Designer(typeof(GoGreenButtonDesigner))]
public class GoGreenButton : Button
{
//...
}
Вот и все. Теперь, когда вы перетаскиваете кнопку в форму, она будет иметь текст по умолчанию «Go Green» без каких-либо дополнительных компиляций.