Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Закрытие формы (Выход из формы)





Существует несколько способов закрыть окно:

· щелкнуть на кнопке "X" (Закрыть) в правом верхнем углу окна;

· закрыть окно из системного меню в левом верхнем углу окна;

· закрыть окно с помощью комбинации клавиш Alt+F4;

· выйти из приложения с помощью меню Файл→Выход.

Для реализации того, чтобы каждый раз, когда пользователь попытается закрыть приложение, приложение будет его спрашивать, действительно ли он хочет выйти.

Когда закрывается форма, вызывается событие Closing (Процедура завершения).

Можно остановить процедуру завершения, установив в обработчике этого события свойство Cancel.

Либо добавить обработчик события Closing и разместить в нем код MessageBox (Окно сообщения), приведенный ниже:

После запуска программы и попытки закрыть окно приложения разными способами будет появляться соответствующее сообщение.

ВАЖНО!!! Все действия реализуются через обработчики событий.

SDI- и MDI-приложения

Традиционно существует три разновидности приложений, которые могут создаваться MS, а именно:

· Приложения, основанные на диалоговом окне. Такие приложения предоставляются пользователям в виде единого диалогового окна, с помощью которого может быть осуществлен доступ ко всем функциональным возможностям.

· Однодокументные интерфейсы (Single Document Interface, SDI), Такие приложения предоставляются пользователям в виде меню, одной или нескольких линеек инструментов и одного окна, в котором пользователь может выполнять определенные действия.

· Многодокументные интерфейсы (Multi-Document Interface, MDI). Такие приложения представляются пользователям в. таком же виде, что SDI-приложения, однако обладают способностью одновременно поддерживать несколько открытых окон.

Примеры SDI- и MDI- приложения приведены на рис. 9.

Рис. 9. MDI-приложение

Приложения, основанные на диалоговом окне, обычно представляют собой небольшие одноцелевые приложения, которые ориентированы либо для решения конкретной задачи, требующей ввода небольшого количества данных, либо для работы с какими-то необычными типами данных. В качестве примера такого приложения можно привести Calculator (калькулятор), поставляемый вместе с MS Windows.

Однодокументные интерфейсы, как правило, предназначаются для решения какой-то одной конкретной задачи, при этом они позволяют пользователю загружать в приложение единственный документ, с которым он и будет вести работу (более подробно будет рассмотрен в лабораторной работе №3 при изучении диалоговых окон). Эта задача предполагает выполнение пользователем большого количества действий, и зачастую пользователю могут потребоваться возможности, позволяющие сохранять или загружать плоды своего труда. Хорошим примером SDI-приложений могут служить MS Paint и WordPad, также поставляемые совместно с MS Windows.

Однако такие приложения допускают открытие только одного документа в каждый конкретный момент времени, поэтому если пользователю требуется открыть второй документ, то ему будет необходимо открывать новый экземпляр SDI-приложения, у которого будет отсутствовать связи с первым документом и, следовательно, конфигурация, созданная для первого экземпляра, не окажет никакого влияния на конфигурацию второго. Например, вы в MS Paint выбрали красный цвет в качестве цвета рисования, затем открываете второй экземпляр MS Paint, а здесь в качестве цвета, используемого для рисования, выбирается цвет по умолчанию. Он будет черный.

Многодокументные интерфейсы почти полностью аналогичны SDI-приложениям за исключением того, что они обладают возможностью поддерживать более одного открытого документа в различных окнах, которые могут быть открыты одновременно. Одним из простых признаков MDI-приложения является наличие пункта Window на правой стороне линейки меню перед пунктом Help. Примерами MDI-приложений служат Adobe Acrobat Reader и MS Word 97.

Четвертый тип приложений представлен MS Office 2000. Этот тип является смесью SDI- и MDI- приложений: окна, предоставляемые пользователю, имеют различное местоположение, и каждое окно отображается в линейке заданий. Такое приложение представляет собой несколько MDI- приложений, поскольку основное приложение не будет закрыто до тех пор, пока не будут закрыты все окна, а с помощью пункта меню Windows можно выбирать, какой именно из открытых.документов будет просматриваться, хотя при этом собственно пользовательский интерфейс представляет собой SDI-интерфейс.

Создание MDI-приложений.

Для создания MDI необходимо:

- чтобы решаемая пользователем задача требовала одновременно несколько открытых документов. Примером задач такого рода является текстовый редактор или, как в приведенном выше примере, программа просмотра документов,

- предусмотреть панели инструментов для наиболее часто выполняемых в приложении операций, таких как изменение стиля шрифта, загрузка и сохранение документов,

- обязательно следует предусмотреть пункт меню Window, который позволял бы пользователю изменять положение открытых окон друг относительно друга (налагая их друг на друга в виде черепицы или каскада) и предоставлял бы ему список всех открытых окон.

Еще одной особенностью MDI-приложений является то, что если имеется некоторое открытое окно и в этом окне существует некоторое меню, то оно должно быть интегрировано в основное меню приложения.

Любое MDI-приложение состоит, по крайней мере, из двух разных окон. Первое окно называется MDI-контейнером, а окно, которое может быть открыто в контейнере, называется дочерним MDI-окном. При упоминании первого окна будут использоваться взаимозаменяемые термины "MDI-контейнер" и "основное окно", а при упоминании второго — термины "дочернее MDI-окно" ИЛИ просто "дочернее окно".

При создании MDI-приложения следует:

1. Создать Windows Application в Visual Studio.

2. Чтобы превратить основное окно приложения из формы в MDI-контейнер, достаточно просто присвоить свойству формы isMdiContainer значение true. При этом произойдет изменение цвета фона, указывающее на то, там не следует размещать видимые управляющие элементы, хотя такая возможность по-прежнему существует и может при определенных обстоятельствах оказаться полезной.

3. Для создания дочернего окна следует добавить в проект новую форму, выбрав Windows Form из диалогового окна, которое открывается при выборе пункта меню Project | Add New Item.

4. Эта форма становится дочерним окном, когда его свойству MdiParent присваивается ссылка на основное окно. Этому свойству нельзя присваивать значение с помощью панели Properties, это необходимо выполнять программным путем.

До того, как появится возможность выводить MDI-приложение на экран в его основном виде, нужно выполнить еще две вещи:

1. Необходимо передать MDI-контейнеру информацию о том, какие окна должны выводиться.

2. Затем вывести их, для чего следует просто создать новый экземпляр формы, которую вы собираетесь выводить, а затем вызвать для нее метод show(). Конструктор формы, предназначенной для вывода в качестве дочернего окна, должен привязаться к родительскому контейнеру. Это достигается за счет присваивания его свойства MdiParent экземпляру MDI-контейнера.

Стандартный делегат

Для большего понимания такого сложного термина приведем простой «жизненный» пример: Дядя Федор и кот Матроскин отправились ловить рыбу. На берегу они расставили свои удочки и решили, что один из них будет следить за клевом, а другой, дабы рационально и с пользой провести это время, либо червей копать, либо просто ОТДЫХАТЬ. Кроме того, конструкции удочек значительно отличались, поэтому было принято решение просто прикрепить инструкции по использованию к каждой из них. Делегатом в таком важном деле был назначен Дядя Федор. Другими словами:

ДЕЛЕГАТ – это представитель, наделенный особыми полномочиями определенными заранее (в нашем случае, «обработать» клюющую рыбу, насадить нового червяка, вообщем, вести процесс рыбалки). В отличие от полномочий - действий делегата, заранее не известно случившееся событие, инициирующее его работу (клюет рыба, сорвалась рыба …). А как именно реагировать при наступлении того самого события, делегату станет известно из предопределенной инструкции.

В любом случае, делегат, настроенный на метод, должен обеспечить реакцию на данное событие.

public delegate void EventHandler(object sender, EventArgs e);

В этом процессе кроме делегата (Дяди Федора) есть также другие участники:

1) событие, произошедшее с удочкой (object sender).

2) инструкция по использованию среагировавшей удочки (EventArgs e).

Инициатор действия - это всегда sender (объект отправитель, источник события), а второй участник (инструкция по использованию удочкой, на которую воздействует sender) – тип, содержащий спецификацию для данного события информацию (предопределённый класс EventHandler, в котором хранится информация о событии). Делегат - установленым образом обрабатывает послание sender- а, согласно инструкции EventArgs.

При создании самого делегата–представителя класса–делегата EventHandler, прежде всего, определяется соответствующий метод, выполнение которого обеспечивает реакцию на событие.

Таким образом, для реализации перехвата события достаточно использовать:

1. для идентификации события. Базовый класс EventArgs, если уведомление о произошедшем событии не связано с генерацией дополнительной информации или производный от данного класса класс, если необходимо передавать дополнительную информацию, связанную с событием,

2. предопределённый класс EventHandler для реализации ссылки на метод–обработчик события.

 

Комп'ютерний практикум №2. Обзор управляющих элементов и получение навыков работы с ними. Диалоговые окна. OpenFileDialog. SaveFileDialog. OpenFileDialog и SaveFileDialog для SDI-приложений. FontDialog. ColorDialog. Элемент управления NotifyIcon.

Цель:изучение класса Control, основных свойств и методов стандартных элементов управления, изучение класса CommonDialog.







ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.