Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 517

Эндрю Троелсен

После размещения Button и Textbox в окне проектирования формы рассмотрите программный код, сгенерированный в методе InitializeComponent(). Вы обнаружите, что соответствующие типы автоматически были созданы с помощью new и добавлены в коллекцию ControlCollection формы (в дополнение к установкам, которые вы, возможно, добавили с помощью окна свойств).

private void InitializeComponent() {

 this.btnMyButton = new System.Windows.Forms.Button();

 this.txtMyTextBox = new System.Windows.Forms.TextBox();

 …

 // MainWindow

 //

 …

 this.Controls.Add(this.txtMyTextBox);

 this.Controls.Add(this.btnMyButton);

 …

}

Рис. 21.2. Визуальные подсказки по поводу выравнивания и размещения элементов управления в форме

Как видите, такие инструменты, как Visual Studio 2005, во многом избавляют вас от необходимости вводить программный код вручную (возможно, избавляя и от боли в пальцах). Итак, в результате ваших действий в окне проектирования формы среда разработки автоматически модифицирует InitializeComponent(). Но вы также можете конфигурировать элементы управления и непосредственно в программном коде (в конструкторах, обработчиках событий, вспомогательных функциях и т.д.), поскольку задачей InitializeComponent() является создание начального состояния элементов интерфейса. Тем не менее, если вы хотите упростить себе жизнь, позвольте Visual Studio 2005 поддерживать InitializeComponent() автоматически, поскольку средства проектирования формы могут проигнорировать или переписать изменения, сделанные вами в рамках этого метода.

Работа с базовыми элементами управления

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

• Label (надпись), TextBox (текстовое окно) и MaskedTextBox (маскированное текстовое окно);

• Button (кнопка);

• CheckBox (кнопка с независимой фиксацией), RadioButton (кнопка с зависимей фиксацией) и GroupBox (групповой блок);

• CheckedListBox (окно отмечаемого списка), ListBox (окно списка) и ComboBox (комбинированное окно).

Освоив работу с этими элементами управления, производными от типа Control, мы с вами обратим внимание на более "экзотические" элементы, такие как MonthCalendar, TabControl, TrackBar, WebBrowser и т.д.

Элемент Label

Элемент управления Label (надпись) может содержать информацию, доступную только для чтения (текст или изображение), например, для того, чтобы пояснить пользователю роль и возможности использования остальных элементов управления, помещенных в форму. Предположим, вы создали в Visual Studio 2005 новый проект Windows Forms с именем LabelsAndTextBoxes. В рамках полученного экземпляра типа Form определите метод с именем CreateLabelControl(), который сначала создает и конфигурирует тип Label, а затем добавляет его в коллекцию элементов управления формы,