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

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

static class Program {

 [STAThread]

 static void Main() {

  Application.EnableVisualStyles();

 }

}

Замечание. Атрибут [STAThread] дает среде CLR указание обрабатывать все устаревшие COM-объекты (включая элементы управления ActiveX), используя STA-управление (SingleThreaded Apartment – однопоточное размещение). Если вы имеете опыт использования COM, вы должны знать, что STA-управление используется для того, чтобы доступ к COM-типу выполнялся в синхронном (а значит, безопасном в отношении потоков) режиме.

Необходимые компоновочные блоки

Наконец, если Заглянуть в окно Solution Explorer, вы увидите, что проект Windows Forms автоматически ссылается на целый ряд компоновочных блоков, среди которых будут System.Windows.Forms.dll и System.Drawing.dll.

Напомним, что подробное обсуждение System.Drawing.dll предполагается в следующей главе.

Работа с MenuStrip и ContextMenuStrip

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

• ToolStripMenuItem – традиционный пункт меню.

• ToolStripComboBox – встроенный элемент ComboBox (комбинированное окно).

• ToolStripSeparator – простая линия, разделяющая содержимое.

• ToolStripTextBox – встроенный элемент TextBox (текстовое окно).

С точки зрения программиста, элемент управления MenuStrip содержит строго типизированную коллекцию ToolStripItemCollection. Подобно другим типам коллекции, этот объект поддерживает методы Add(), AddRange(), Remove() и свойство Count. Эта коллекция обычно заполняется не напрямую, а с помощью различных инструментов режима проектирования, но если требуется, то есть возможность обработать ее и вручную.

Чтобы привести пример использования элемента управления MenuStrip, создайте новое приложение Windows Forms с именем MenuStripApp. Поместите элемент управления MenuStrip в форму в окне проектирования, присвоив ему имя mainMenuStrip. В результате в файл *.Designer.cs добавится новая переменная.

private System.Windows.Forms.MenuStrip mainMenuStrip;

Элемент управления MenuStrip имеет очень широкие возможности настройки в режиме проектирования в Visual Studio 2005. Например, вверху у этого элемента управления есть маленькая пиктограмма стрелки, в результате выбора которой появляется контекстно-зависимый "встроенный" редактор содержимого, как показано на рис. 19.11.

Рис. 19.11. "Встроенный" редактор MenuStrip

Такие контекстно-зависимые редакторы cодержимого поддерживаются многими элементами управления Windows Forms. Что же касается MenuStrip, то соответствующий редактор позволяет быстро сделать следующее.

• Вставить "стандартную" систему меню (File, Save, Tools, Help и т.д.), используя ссылку Insert Standard Items (Вставить стандартные элементы).