У меня есть пользовательский элемент управления, который расширяется и сворачивается. У меня должно быть второе свойство «open width», которое должно быть задано отдельно от свойства обычной ширины.Свойство Значение по умолчанию не работает для нового элемента управления
Когда я сбрасываю элемент управления, он делает ширину 10. Когда я разворачиваю элемент управления, он возвращает ширину элемента управления обратно к свойству «open width», которое должно быть установлено вручную на обычную ширину, когда элемент управления создано.
По умолчанию новая ширина в элементе управления равна 200, поэтому для согласования я хочу установить для свойства по умолчанию «открытая ширина» значение 200. Поэтому у меня есть следующие:
Private _mSideBarOpenWidth As Integer
<EditorBrowsable(EditorBrowsableState.Always)>
<Browsable(True)>
<DesignerSerializationVisibility(_
DesignerSerializationVisibility.Visible)>
<DefaultValue(200)>
<Category("SideBar")>
<Description("Sets the open Width of the SideBar control.")>
Public Property SideBarOpenWidth() As Integer
Get
Return _mSideBarOpenWidth
End Get
Set(value As Integer)
_mSideBarOpenWidth = value
End Set
End Property
Когда я перетащить новый элемент управления на форму по умолчанию значение всегда 0. Если изменить его значение действительно сохраняется, она просто не заводится на 200. Я сделал довольно немного поиска по этой проблеме, и я пробовал следующее:
cleaning/building/rebuilding the project
closing VisualStudio and opening it back up
deleting the form and creating a new one
using the control in a new project
setting <em>DesignerSerializationVisibility.Visible</em> to <em>.Content</em>
using <em>"200"</em> with the quotes as the default value
И различные комбинации из всех этих. Ничто из этого не работает, а значение по умолчанию для нового элемента управления, перетаскиваемого в форму, равно нулю. Излишне говорить, что я не понимаю, почему значение по умолчанию не будет установлено на 200, когда оно будет создано.
Единственный раз, когда я даже получить доступ к собственности, когда я устанавливаю ширину элемента управления Me.Width = SideBarOpenWidth
И теперь я чувствую себя идиотом, что знаю, что я должен сначала установить значение по умолчанию ... Еще раз спасибо Плутоникс! – Recoil
Учитывая имя, которое он * делает *, похоже, оно должно установить его, а потому, что это атрибут, а тем более. – Plutonix