Практическое руководство. Использование свойств Modifiers и GenerateMember
При размещении компонента в форму Windows, в среде разработки предоставляются два свойства: GenerateMember и Modifiers. GenerateMember Свойство указывает, когда конструктор Windows Forms создает переменную-член для компонента. Modifiers Свойство — это модификатор доступа, назначенный этой переменной члена. Если значение GenerateMember свойство false, значение Modifiers не оказывает никакого влияния.
Note
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров . Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.
Для указания, является ли компонент членом формы
В конструкторе Windows Forms откройте форму.
Откройте элементови в форме, поместите три Button элементов управления.
Задайте
GenerateMemberиModifiersсвойства для каждого Button управления согласно следующей таблице.Имя кнопки Значение GenerateMember Значение модификаторов button1trueprivatebutton2trueprotectedbutton3falseБез изменений Постройте решение.
В обозревателе решений нажмите кнопку Показать все файлы.
Откройте Form1 узел и в редактор кодаоткройте Form1.Designer.vb или Form1.Designer.cs файл. Этот файл содержит код, созданный конструктором Windows Forms.
Найдите объявления для содержатся три кнопки. В следующем примере кода показаны различия, определяемое
GenerateMemberиModifiersсвойства.private void InitializeComponent() { // button3 is declared in a local scope, because // its GenerateMember property is false. System.Windows.Forms.Button button3; this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); button3 = new System.Windows.Forms.Button();// The Modifiers property for button1 is "private". private Button button1; // The Modifiers property for button2 is "protected". protected Button button2; // button3 is not a member, because // its GenerateMember property is false.
Note
По умолчанию назначается в конструкторе Windows Forms private (Friend в Visual Basic) модификатор контейнерные элементы управления, такие как Panel. Если с основным UserControl или Form имеет контейнерного элемента управления, он не принимает новые дочерние объекты в наследуемых элементов управления и форм. Решение заключается в изменить модификатор элемента управления базового контейнера для protected или public.