Насколько я могу судить, вы просите о двух совершенно противоречивых вещах.
Установка атрибута DesignerSerializationVisibility
в значение "Скрытый" не позволит конструктору сохранять любую информацию окак вы устанавливаете эти свойства.Их значения по умолчанию всегда будут использоваться, поскольку пользовательские настройки не сохраняются.
Поэтому, когда вы изменяете свойство GradientBegin
на цвет, отличный от красного, эта настройка не сохраняется в вашемФайл конструктора формы .Вот почему, что бы ни происходило, при компиляции и запуске программы свойство GradientBegin
возвращается к значению по умолчанию Color.Red
.(И на тот случай, если вы не уверены, откуда берется это значение по умолчанию, это значение, которое вы указали при объявлении свойства: Public Property GradientBegin() As Color = Color.Red
.)
Итак, вы должны решить, какое поведениевы действительно хотите. Хотите ли вы, чтобы дизайнер сохранял (сериализовал), как бы вы ни устанавливали свойство во время разработки?Если это так, вам нужно удалить атрибут DesignerSerializationVisibility
из декларации вашего свойства.В противном случае, если вы хотите оставить этот атрибут, вам придется придерживаться любого значения по умолчанию для этого свойства, потому что это единственное, что ваша программа будет знать при запуске.Единственный другой вариант - явно установить свойство GradientBegin
в вашем коде, а не оставлять дизайнера для этого.Это означает, что вы не можете установить его с помощью окна свойств во время разработки, но он позволяет оставить как атрибут DesignerSerializationVisibility
, так и переопределить значение по умолчанию для свойства.