Компонент главное меню MenuStrip
Компонент находится в списке Menus & Toolbars палитры компонентов. Компонент создает главное меню, с помощью которого пользователь управляет всей работой приложения и его частей. Разные части приложения запускаются на выполнение отдельными командами (пунктами меню), собранными в эту структуру. Структуру меню определяет программист. Меню формируется после нанесения значка меню из палитры компонентов на форму. С формой меню связывается через свойство формы MainMenuStrip, в окне которого и появляется имя компонента. После того как меню сформировано и приложение запущено на выполнение, в левой верхней части формы будет расположена строка, содержащая главные опции меню. Главные пункты меню могут распадаться на более детальные команды (подменю), располагающиеся в столбик (сверху вниз).
При переносе значка меню из палитры компонентов на форму значок располагается не на самой форме, а на полосе ниже формы. На форме (в верхней части) появляется полоса для отображения будущих опций меню. Если щелкнуть на значок в правой части полосы, то появится выпадающий список MenuStrip Tasks. Это диалоговое окно обеспечивает доступ к типичным командам и свойствам:
Embed in ToolStripContainer – позволяет поместить меню в специальный контейнер (вместо расположения его в форме). Контейнер – это объект со своим набором свойств, установка которых позволяет создавать меню, более удобное для пользователя;
Insert Standard Items – добавляет общепринятые опции меню: File с подпунктами New, Open, Save, Save As, Print, Print Preview, Exit; Edit с подпунктами Undo, Redo, Cut, Copy, Paste, SelectAll; Tools с подпунктами Customize, Options. Help с подпунктами Contents, Index, Search, About.
RenderMode – опция дает возможность выбора из выпадающего списка способа изображения меню: системного (System), профессионального (Professional) или управляемого (ManagerRenderMode);
Dock – выводит (по щелчку на кнопке) в поле этой опции схему причаливания меню к той или иной стороне формы;
GripStyle - в этой опции существует выпадающий список, задающий элемент стиля полосы меню: невидима или видима будет специальная пунктирная канавка в верхней части полосы;
Edit Items с помощью этой опции задаются подпункты самого меню. При щелчке на этой опции раскрывается диалоговое окно для задания подпунктов меню, причем в левой его части существует окно для добавления новых опций, а в правой части открывается окно для настройки свойств добавляемых опций. С помощью этого окна можно не только добавлять новые опции, но и удалять и реорганизовывать их.
Чтобы сформировать очередную опцию, надо выбрать ее тип из выпадающего списка, расположенного левее кнопки Add. Типом может быть либо собственно элемент меню, либо специальный элемент в виде компонента TextBox или компонента ComboBox.
Чаще всего используются обычные пункты меню, называемые MenuItem. После выбора из списка этого элемента надо нажать кнопку Add (добавить). После этого очередной пункт меню следует назвать. Для этого используется свойство Text. Затем необходимо задать те действия, которые будут выполняться при выборе пункта меню и щелчке на этом пункте. Создать событие щелчок на пункте меню можно простым щелчком на этом пункте.
Чтобы получить доступ ко всем событиям, надо вернуться к форме, активизировать нужную опцию меню и после этого будет получен доступ к окну Properties, в котором выбрать вкладку Events с полным перечнем возможных событий. При двойном щелчке в поле справа от события будет создано соответствующее событие и в код программы будет добавлен заголовок обработчика этого события. Заголовок обработчика будет иметь следующий вид:
private: System::Void открытьToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
}
Для добавления новых пунктов меню (в глубину и вширь меню), надо щелкнуть в поле очередного пункта меню. При этом сразу появятся два окна (ниже и справа) с надписью в них Type Here (вводите сюда).
Пункты меню можно выбирать не только с помощью мыши, но и с помощью горячих клавиш. Для задания горячих клавиш в окне Properties надо воспользоваться свойствами ShortcutKeys и ShowShortcutKeys. Первое свойство задает комбинацию клавиш, при нажатии которой опция станет выполняться, вторая опция позволяет сделать эту комбинацию видимой или невидимой.
Окно сообщений MessageBox
Окно сообщения — это готовое модальное диалоговое окно, которое отображает пользователю текстовое сообщение. Окно сообщения демонстрируется при вызове статического метода Show класса MessageBox. Отображаемое текстовое сообщение — строковый аргумент, который можно передать методу Show. Несколько перегруженных версий метода Show также позволяют вам указать заголовок.
Чтобы позволить пользователю закрыть окно сообщения, метод Show отображает окно сообщения с кнопками ОК и Закрыть в заголовке.
Также можно с помощью окна сообщений задать пользователю вопрос. Пользователь отвечает нажатием одной из нескольких кнопок, указанных для отображения с помощью перечисления MessageBoxButton. Это перечисление можно передать нескольким перегруженным версиям метода Show. Значением по умолчанию для перечисления MessageBoxButton является OK.
Можно определить, какую кнопку нажмет пользователь, проанализировав значение, возвращенное методом Show. Возвращаемое значение — это значение перечисления MessageBoxResult, в котором каждое значение равно одной из кнопок, которые может отобразить окно сообщения. Значение по умолчанию для окна сообщения — OK, так как ОК в окне сообщения — кнопка по умолчанию. Однако некоторые перегруженные версии метода Show позволяют указать другое значение по умолчанию MessageBoxResult.
У окон сообщений всегда есть окно-владелец. По умолчанию владелец окна сообщения — это текущее активное окно в приложении в тот момент, когда окно сообщения открылось Однако можно указать другого владельца для окна Window, воспользовавшись одним из нескольких перегруженных версий Show. Дополнительные сведения об окнах-владельцах см. в разделе Window..::.Owner.
В этом примере демонстрируются способы отображения окна сообщения и получения возвращаемого значения.
Окно сообщения отображается путем вызова метода Show, который имеет несколько перегрузок, позволяющих настраивать вид и поведение окна сообщения, в том числе следующие его свойства:
· Сообщение.
· Заголовок окна.
· Значок.
· Кнопки.
· Окно-владелец.
· Специальные параметры, например, поддержка чтения справа налево.