Каковы требования для кода ISupportInitialize для сериализации в InitializeComponent? .СЕТЬ - PullRequest
1 голос
/ 26 апреля 2010

Мне нужно добавить некоторый код в метод EndInit элемента управления PictureBox, но, к сожалению, он закрытый, и, насколько я могу понять, я не могу его скрыть и вызвать base - по крайней мере, не в VB.NET .

Что я могу сделать, так это добавить фиктивное свойство в мой класс Picture Box. Тип свойства dummy - это просто класс, который просто реализует ISupportInitialize. Однако, это не работает, мне нужно, чтобы фиктивный класс наследовал от Control.

Это минимальное требование?

1 Ответ

1 голос
/ 26 апреля 2010

Как вы и предполагали, вам нужно создать proeprty, который содержит фиктивный класс, реализующий ISupportInitialize.

Затем выставьте свойство следующим образом:

[EditorBrowsable(EditorBrowsableState.Never)]  //Hide from IntelliSense (outside your solution)
[Browsable(false)]   //Hide from Properties window
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public MyDummyClass Initializer { get; private set; }

Указание DesignerSerializationVisibility.Content приведет к тому, что дизайнер установит свойства объекта вместо самого объекта, а также вызовет BeginInit / EndInit.

Очевидно, вы должны создать экземпляр класса в своем конструкторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...