Практическое руководство. Использование свойств Modifiers и GenerateMember
При размещении компонента в форму Windows, в среде разработки предоставляются два свойства: GenerateMember
и Modifiers
. GenerateMember
Свойство указывает, когда конструктор Windows Forms создает переменную-член для компонента. Modifiers
Свойство — это модификатор доступа, назначенный этой переменной члена. Если значение GenerateMember
свойство false
, значение Modifiers
не оказывает никакого влияния.
Note
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров . Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.
Для указания, является ли компонент членом формы
В конструкторе Windows Forms откройте форму.
Откройте элементови в форме, поместите три Button элементов управления.
Задайте
GenerateMember
иModifiers
свойства для каждого Button управления согласно следующей таблице.Имя кнопки Значение GenerateMember Значение модификаторов button1
true
private
button2
true
protected
button3
false
Без изменений Постройте решение.
В обозревателе решений нажмите кнопку Показать все файлы.
Откройте 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
.