Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 193

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 193 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 1932019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 193)

В данном случае такой подход не дает никаких особых преимуществ, то нетрудно представить себе ситуацию, в которой он может оказаться весьма ценным. Такой подход позволяет, в частности, написать обработчик событий независимо от типа конкретной кнопки. Применение окна сообщений К числу наиболее употребительных средств 1ачпдоьчз относится окно сообн(ений, которое представляет собой)предопределенное окно для вывода сообщений наряду с получением реакции от пользоЪателя с помощью таких элементов, как кнопки Уез, (Чо или ОК.

В приложении на основе форм функции окна сообщений реализуются средствами класса меээадевох, хотя создавать объект этого класса совсем не обязательно. Вместо этого для отображения окна сообщений вызывается статический метод ВЬон (), определенный в классе МеззадеВох.

У метода ЗЬон () имеется несколько форм. Ниже приведена одна из наиболее употребительных форм, в том числе и в примерах из этой главы. рнваьс апап1с Оьа1одаеао1С Звон(апгьпд над, аспьпд сарсхоп, меааадевоквитсопа тьма ОКСапсе1 теаиосапсе1 ЛЬогьнепгу1дпоге кестусапсе1 ок генно Каждое из этих значений обозначает кнопки, отображаемые в окне сообщений. Так, если в качестве параметра пЬЬ указывается значение Хеано, то в окне сообщений появляются кнопки Да 1 лез) и Нет (Хо). где тзд обозначает строку, выводимую в окне сообщений; сарсхоп — заголовок в окне сообщений; иЬЬ вЂ” кнопки, отображаемые в этом окне.

В итоге возвращается реакция пользователя на выводимое окно сообщений. Ме з а адеВоКВиккопз представляет собой перечисление, в котором определяются приведенные ниже значенгвь Глава 26. Создание приложений на основе форм для Вбпбовя 955 Значение, возвращаемое методом Яппи (), обозначает кнопку, которая была нажата. Оио относится к числу значений, определенных в перечислении П1а1осиеян10 и приведенных ниже. Авогс попе Сапсе1 1цпоге весту ок уея // Добавить кнопку остановки программы.

чяьпд Яуягеяп нягпд Яуясеи.вдпбоня.госин; пятна Яуясеи.пгаи1пд1 с1аяя Внссопгогз : Гоги ( впггоп мувоггоп; Ватсон Ясорвпссоп) риь11с Вчссопгогз () ( Техт = "Добавление кнопки остановки"; // Создать кнопки. МуВЧГСОП = Пен ВПГГОП()) МуВчссоп.ТЕхе = "Щелкните здесь"; МуВчссоп.ьосасдоп = пен Ро1пс(100, 200) Мувчссоп.И1бсь = 110! Ясорвиссоп = пен Ватсон(); Бсорвчссоп.техт = "Остановка"у БсорВпссоп.Ьосасдоп = пен Роьпс(100, 100) // добавить обработчики событий в окно. МуВисаоп.с11сх += МуВиссопс1гсды Сопсго1я.лоб(иувчссоп); 5сорзпссоп.С11ск ь= ЯсорВнссопС11сх) Сопсго1я.лоб(ЯГорвпссоп)у ) (ЯтАтпгеаб] ясасгс чоьд Ма1п() ( Виссопгоги яке1 = пен Впгсопгоги() Значение, возвращаемое методом Яппи (), может быть проверено в программе, чтобы выяснить, какое именно действие выбрал пользователь. Так, в окне сообщений пользователю может быть предложено сделать выбор, прежде чем перезаписывать файл, Если пользователь щелкнет иа кнопке Сапсе1, то программа отмеиит перезапись файла.

А если ои выберет кнопку ок, то программа получит разрешение иа перезапись файла. В приведенном ниже примере программы кнопка остановки и окно сообщений вводятся в программу из предыдушего примера. Окно сообщений отображается в обработчике событий от кнопки остановки. В ятом окне пользователю предлагается подтвердить или отменить остановку программы. Если пользователь шелкиет иа кнопке Да, выполиеиие программы будет остановлено. А если ои шелкиет иа кнопке Нет, то выполнение программы продолжится. 956 часть П.

Библиотека С» йрр1гсаггоп.Епавтеугзиа1БСу1ез () к Арр1гсагаоп.апп(зке1) к ) // Обработчик событий от кнопки муВоссоп. ЧО1б МУВиССОПС1ГСК(ОЬБЕСС НЬО, ЕЧЕПСАГБЯ Е) ( гб(МУВпггоп.тор == гса) Мувоггоп.сосаС1оп = пен Рогпг(10, 10)т е1яе Мувоггоп.ьосаС1оп = пен Рогпг(100, ?00)т // Обработчик событий от кнопки БгорВоггоп. чо1б Бгорвоггопс11ск(оЬ)есг нпо, Ечепгйгдз е) ( // Если пользователь подтвердит остановку, // прервать выполнение программы. 01а1очвезо1С гезо1С = Меззадевох.зпон( "Остановить программу?", "Завершение", меззачеВохВоссопя.?евно)т 1Г(гезп1С == 01а1одаезо1г.уез) Арр1гсаггоп.Ехгг() ) ) Рассмотрим подробнее, каким образом в данной программе используется окно сообщений.

Вторая кнопка вводится в конструкторе класса ВОССопрогш. Эта кнопка содержит надпись "Остановка", а обработчик событий от нее реализуется в методе БСорВОССООС11сх () . В методе СорВОССООС1гсх () окно сообщений отображается в следующем операторе: // Если пользователь подтвердит остановкУ, // прервать выполнение программы. 01а1одаезо1С гезо1С = МеззаЧевох.зпон( "Остановить программу?", "Завершение", МеззаЧеВохВпггопз.геено)т В этом операторе выводится сообщение "Остановить программу?" в окне сообщений, а надпись "Завершение" — в его заголовке. Кроме того, в окне сообщения отображаются кнопки Да и Нет.

Значение, возвращаемое методом БЬон (), присваивается переменной геяп1г как результат реакции пользователя на сообщение, выводимое в данном окне. Эта реакция затем анализируется в приведенном ниже операторе с целью определить ход дальнейших действий. 1Г(гезо1С == 01а1одкезо1С.?ез) Арр11сас1оп.Ех1с() Если пользователь щелкнет на кнопке Да, то выполнение программы будет остановлено вызовом метода Арр1гсакгоп.

Ехгг (), который приводит к немедленному ее прерыванию. В противном случае никаких действий не предпринимается, и программа продолжает выполняться далее. Пример вывода на экран при выполнении этой программы приведен на рис. 26.3. реева 26 Создание приложений на основе форм длл 'елпеонв 957 988 часть и. Библиотека сз нительными возможностями и современным внешним видом. Оба этих способа создания меню считаются вполне допустимыми в разработке современных приложений на С(). В связи с этим далее рассматриваются оба способа создания меню.

И первым будет представлен традиционный способ. Создание главного меню в традиционном стиле Главное меню создается в традиционном стиле средствами двух классов. В первом из них, Маъпмепп, инкапсулируется вся структура главного меню, а во втором, Мепи1Сев,— отдельные выбираемые пункты данного меню.

Выбираемый пункт главного меню может обозначать конечное действие, например команду Закрыть, или же активизацию другого, выпадающего меню. Как упоминалось выше, классы МаъпМепп и Мепп1Сев наследуют от класса Мепп. При выборе пункта меню формируется событие С11си, определяемое в классе Мепп1сев. Следовательно, для обработки в программе результатов выбора из меню обработчик событий, связанный с выбираемым пунктом меню, вводится в список обработчиков событий типа О11с)с. У каждой формы имеется свойство меди, определяемое следующим образом: риЫьо МагпМепо Мено ( Чесу веСу По умолчанию ни одно из меню для этого свойства не назначается.

Для отображения создаваемого главного меню оно должно быть установлено в этом свойстве. Процедура создания главного меню довольно проста, хотя и состоит из нескольких пунктов. Ниже приведена процедура, применяемая далее в этой главе. 1. Создайте объект класса Ма1пмепп. 2. Добавьте к объекту типа Маъпмепп объекты класса Мепп1Сев, описывающие пункты главного меню. С этой целью вызывается метод дсЫ () для коллекции, на которую ссылается свойство Мепп1Севз.

3. Добавьте к объекту типа Мепп1сев лазского пункта главного меню список объектов типа Мепп1Сев, определяющих пункты связанного с ним выпадающего меню. С этой целью также вызывается метод дс)с( () для коллекции, на которую ссылается свойство Мепи1Севз. 4. Добавьте обработчики событий для каждого выбираемого пункта меню. 5. Присвойте объект типа Маъпмепи свойству Мепп, связанному с формой. В приведенном ниже примере демонстрируется создание меню Файл, состоящего из трех выбираемых пунктов: Открыть, Закрыть и Выйти. // Создать объект главного меню. Макпиепо Мумепп = пен Ма1пмепи()у // Добавить пункт е главное меню.

Мепо1Сев в1 = пен Мепо1Сев("Файл" ) Муиепи.иепо1Севз.Лбу((в1) у // Создать подменю Файл. Мепо1Сев 1Сев1 = пен Мепи1Сев("Открыть" ) в1.Мепо1Севз.лу)о(ъсев1)у Глава 2Б. Создание приложений на осноае форм длл ()Дпбокз 959 Мепи1сев асев2 = пем Мепи1сев("Закрыть" ) в1.мепи1певл.лоб(апев2)) Мепи1сев 1севз пем Мепи1пев("найти")) в1.иепо1севл.лоб(11евз)л Рассмотрим данный пример более подробно.

Сначала в нем создастся объект типа Муиепп класса Майпиепш Этот объект будет находиться на самом верху структуры меню. Для получения экземпляра этого объекта используется вызываемый по умолчанию конструктор класса Ма1пмепи, в результате чего создается пустое меню. Затем создастся объект в1. Это заглавный пункт меню файл. Он создается с помощью конструктора класса мепптпев: рчш1с Мепи1сев(лсг1пч саРП1оп) где сарп1оп обозначает текст, отображаемый в пункте меню.

В данном случае это надпись "Файл". Данный пункт меню затем добавляется непосредственно к объекту типа мумепо и становится самым верхним пунктом, выбираемым из меню. Обратите внимание на то, что объект в1 добавляется к объекту типа мумепп с помощью доступного только для чтения свойства Ме пот сева. Это свойство представляет собой коллекцию элементов, из которых как из пунктов образуется меню.

Свойство Мепп1певз определяется в классе Мепи, а это означает, что оно частично относится к обоим классам, Ма1пмепп и Мепотсев. Ниже приведена общая форма объявления данного свойства. ри)З11с Мели.Мепч11евСо11ессьоп Мепо1певл ( дес) ) Для того чтобы добавить пункт в меню, достаточно вызвать метод Абб() для свойства мепи1гевэ, передав этому методу ссылку на добавляемый пункт меню, как показано в приведенном выше примере. Далее создается выпадающее меню, связанное с меню Файл.

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6451
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее