Все свойства элемента управления отключены в Visual Studio

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

Вот скриншот дизайнера. Обратите внимание, что я выделил текстовое поле, и все его свойства отключены (выделены серым цветом). Снимок экрана


person user3646717    schedule 09.09.2016    source источник
comment
Элементы управления, определенные в родительской форме, объявлены private по умолчанию, поэтому их нельзя редактировать в конструкторе дочерней формы. IIRC, вы можете исправить это, изменив их на protected с помощью конструктора родительской формы.   -  person BJ Myers    schedule 09.09.2016
comment
Я сделал это, но это не работает. Свойства дочернего элемента управления по-прежнему отключены.   -  person user3646717    schedule 09.09.2016
comment
Просто попробовал сам, и у меня это работает. Как вы изменили элементы управления на protected? Вы строили потом?   -  person BJ Myers    schedule 09.09.2016
comment
Теперь это работает! Я всегда думал, что сохранения обычно достаточно, чтобы изменения вступили в силу, я этого не понимаю ...   -  person user3646717    schedule 09.09.2016
comment
Представления дизайнера, как правило, требуют перестройки. Я отметил это в своем ответе ниже.   -  person BJ Myers    schedule 09.09.2016
comment
Не по теме, но чтобы максимально использовать доступное пространство и лучше просматривать свойства и конструктор, перетащите окна свойств и закрепите их в правой части Visual Studio.   -  person Reza Aghaei    schedule 09.09.2016


Ответы (1)


По умолчанию конструктор Windows Forms создает компоненты с модификатором доступа private. Это означает, что наследующая форма будет отображать элементы управления, но не может их изменять.

Чтобы это исправить, откройте базовую форму в дизайнере. Выберите элементы управления, которые вы хотите изменить, и измените свойство Modifiers на Protected.

Замена модификаторов на защищенные

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

person BJ Myers    schedule 09.09.2016
comment
ОЧЕНЬ большое спасибо, Би Джей Майерс! - person user3646717; 09.09.2016
comment
Я сходил с ума от этого! Я знал, что мне нужно изменить модификатор, и даже однажды заставил его работать. Но воспроизвести не удалось. Это последний важный шаг, о котором вы упомянули, который я упустил. Оглядываясь назад, это имеет смысл. Спасибо. - person ThermoX; 26.10.2019