Если вы поместите DefaultValueAttribute
перед вашим свойством, указав фактическое значение по умолчанию вашего свойства, конструктор форм Windows не будет генерировать код, который инициализирует свойство
[DefaultValue(0)]
private int _myProperty;
public int MyProperty {
get { return _value; }
set
{
if (value != _myProperty) {
_myProperty = value;
HeavyInitialization();
}
}
}
Свойства инициализируются тольков InitializeComponent();
если значение, указанное в окне свойств, отличается от указанного значения по умолчанию.
Если вам вообще не нужно устанавливать это свойство в окне свойств, его можно скрыть из окна свойствс BrowsableAttribute
.Вы можете полностью отключить сериализацию (генерацию кода для InitializeComponent
) с помощью DesignerSerializationVisibilityAttribute
.
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public int MyProperty {
...
}