Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 161

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 155 156 157 158 159 160 < 161 > 162 163 164 165 166 167 .. 320 >> Следующая

DateTime t * DateTime.Now; string s = t.ToLongTimeStringC);
Il Выводим полученное строковое значение на правую панель SbPnITime.Text - s:
}
)
Обратите внимание на использование в нашей программе типа Date"; "те. Из этого класса можно очень просто извлечь значение системного времени (при помощи свойства Now), а затем вывести это значение (в нашем примере оно выводится на правую панель строки состояния).
Что такое строка состояния 391
Отображение в строке состояния подсказок к пунктам меню
!!'¦¦icvio/nicc, что мы должны сделать со строкой состояния, — настроить левую панель (которая сейчас выводит статический текст Ready) таким образом, чтобы при выборе пользователем пункта меню в строке отображалась значимая подсказка (типа This terminates the appl і cati on - «Работа приложения будет завершена»).
Как мы помним, система меню в нашем примере создана заранее (в качестве примера к предыдущим разделам). Выводить подсказки для пользователей в зависимости от выбранного пункта меню проще всего, реагируя на событие для каждого из объектов меню. Мы организуем перехват события Se' ect, которое будет генерироваться при выборе пользователем пунктов Fite > Exit или Help ) About, и в обработчике этого события будем менять текст, выводимый в левой панели строки состояния. Помимо этого нам потребуется отслеживать момент, когда пользователь закончит свои манипуляции с меню (событие MenuComplete), чтобы вернуть текст в строке состояния в исходный вид. Вот обновление для нашей программы:
public cU'is IVinFonn : Form
'{
public MainFormO {
// Событие MenuComplete происходит при выходе пользователем из меню.
// Мы будем реагировать на это событие, возвращая в левую панель строку
// по умолчанию "Ready". Если мы этого не сделаем, в строке состояния останется значение, которое изиенилось при выборе пользователей
// пункта меню! this.MenuComplete +- new EventHand1er(5tatusForm_MenuDone): BuildMenuSysteraO; }
private void Fi IeExI ^Selected (object sender, EventArgs e) (
SbP.nlPrompt.Text = "Terminates this app":
}
private wio Helptooat Selected (object sender. EventArgs e)
{
SbPnI Prompt.Text = "Displays app info";
}
private void StauisFov«i_Men'.iDone(Oj,i&:.t sender. EventArgs e) {
sbPnl Prompt.Text - "Ready":
II Вспомогательные функции private void BuildMenuSystemO {
II Создаем главное меню
імаїМепіі = new Hair»enu{);
392 Глава 8 • Окна становятся лучше: введение в Windows, Forms
Таблица 8.23. Свойства класса ToolBar Свойство Назначение
BorderStyle Определяет стиль рамки вокруг панели инструментов. Используются значения из перечисления BorderStyle
Buttons Для работы с набором кнопок на панели инструментов (то есть с коллекцией;
ToolBa r$ToolBarButtonCol lection)
ButtonSize Определяет размер кнопок на панели инструментов
IrnageUst Возвращает элемент управления ImageUsf, в котором хранятся изображения, используемые на панели инструментов
// Создаем меню File
Menultem miFile - mainMenu. Menultems .AddC'&File"); mi Fi 1 е.Menu I terns. Add(new Menultera(" ESxi t".
new EventHandlerCthis.FileExit_Clicked). Shortcut.CtrlX));
II Обрабатываем событие Select для пункта меню Exit
miFile.MenuItems[0],Select += new EventHandler(Fi1eExit_Selected);
// Теперь создаем меню Help | About
Menultem mi Help = mainMenu.Menultems.AddC'Help"):
m і HeIp. Men uIterns.Add(new Menu11em("&About".
new E •/entlidnuler; this .HelpAocut Cl і eked). Shortc.it. Ctrl A) 1;
Il Обрабатываем событие Select для пункта меню About
mi Неї p.Menultems[0].Select += new EventHandler(HelpAbout_Selected):
II Присоединяем главное меню к объекту Form
this. Menu - mainMenu:
)
г
Теперь строка состояния полностью выполняет свои функции. Как, наверно, вы уже догадываетесь, в Visual Studio предусмотрены и графические средства для создания строки состояния. После того как мы разобрались с механизмом работы строки состояния и связанными с ней объектами С#, создание строки состояния любым способом не представит для нас никакой сложности.
Код приложения StauisBai можно найти в подкаталоге Chapter 8.
Создаем панель инструментов
Последний элемент графического интерфейса формы, который мы разберем в этой главе, — это панель инструментов (TooLBar). Как правило, кнопки панели инструментов пользователям более легкий доступ к возможностям, которые определены в меню. Например, при нажатии пользователем на кнопку Save (Сохранить) эффект будет таким же, как и при выборе им пункта Save в меню File. Конечно же, в пространстве имен System. Wi ndews, Forms предусмотрены типы, которые облегчают работу с панелями инструментов. Первый класс, который используется для создания панелей инструментов, — это класс Tool Bar. Наиболее важные свойства этого класса представлены в табл. 8.23.
Создаем панель инструмеїнов 395
та можно получить информацию о том, какая именно кнопка на панели инструментов была нажата:
private void Tool Barjnicksd(object sender. TaolBarSuttonClicicEvsntArgs e) {
II Сейчас мы просто виводим значение ToolTipText для кнопки MessageBox.Show(е-Button.TooltipText):
Предыдущая << 1 .. 155 156 157 158 159 160 < 161 > 162 163 164 165 166 167 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100