Как я могу редактировать свойства кнопки в форме, где кнопка находится на пользовательском элементе управления? - PullRequest
0 голосов
/ 05 августа 2011

У меня есть пользовательский элемент управления, на который я помещаю кнопку управления. Я установил модификатор доступа кнопки в Public. Когда я перетаскиваю пользовательский элемент управления на форму, я вижу кнопку, но не могу выбрать ее или изменить ее свойства в конструкторе форм.

В конечном итоге я хочу создать гораздо более сложный пользовательский элемент управления с панелью содержимого, кнопками «Назад» и «Далее» и т. Д. Я успешно создал панель содержимого, в которую можно перетаскивать элементы управления во время разработки. на основной форме.

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

При наследовании от пользовательского элемента управления или наследовании от формы обычно можно редактировать свойства элементов управления, модификатор доступа которых установлен на «Защищенный».

Что мне нужно сделать, чтобы получить доступ к элементам управления пользовательского элемента управления из конструктора формы?

Ответы [ 2 ]

3 голосов
/ 06 августа 2011

Я думаю, вам нужно перейти в представление конструктора пользовательских элементов управления, чтобы изменить свойства кнопки (вместо формы, в которой размещен пользовательский элемент управления), поскольку она вложена в пользовательский элемент управления.

1 голос
/ 07 августа 2011

Вы можете вносить базовые изменения в дочерний элемент управления пользовательского элемента управления в форме в той степени, в которой вы можете представлять интересующие свойства через родительский конструктор пользовательских элементов управления и поддерживать изменения свойств во время разработки.Вы можете создавать гораздо более сложные модели поведения во время разработки, написав своих собственных дизайнеров, но это потенциально трудное и очень сложное мероприятие.

Есть веская причина, почему она не работает так, как вы, вероятно, думаете, что это возможно, иЕсли вы подумаете об этом достаточно долго, вы поймете почему.Когда вы наследуете от объекта, да, вы можете изменять свойства и т. Д., Но в этом случае вы создаете новый тип , чтобы вы могли изменять, добавлять, переопределять свойства.

Но когда выудалить пользовательский элемент управления на форме, вы не создаете новый тип.Вы создаете экземпляр типа, пользовательского элемента управления, который уже определен.Если вы можете изменять свойства, вы изменяете состояние, которое должно быть сохранено для этого экземпляра.Состояние должно быть не только постоянным, но пользовательские элементы управления также часто включают в себя рисование и т. Д., Поэтому изменения состояния могут также иметь сложные поведенческие эффекты, и это потенциально сложное требование, которое не может быть полностью обобщено.

Итак, есть некоторые модификации, которыевообще невозможно, потому что они подразумевают изменение типа, а у вас уже есть тип, вы только создаете экземпляр.Для остальной части возможного диапазона изменений, которые в конечном счете основаны на состоянии, платформа поддерживает только очень большую часть всего возможного управления состоянием.

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