Стандартные интерфейсы IEnumerable и IEnumerator

Для циклического обращения к элементам коллекции зачастую проще (да и лучше) организовать цикл foreach, чем пользоваться непосредственно методами интерфейса IEnumerator. Тем не менее ясное представление о принципе действия подобных интерфейсов важно иметь по еще одной причине: если требуется создать класс, содержащий объекты, перечисляемые в цикле foreach, то в этом классе следует реализовать интерфейсы IEnumerator и IEnumerable. Иными словами, для того чтобы обратиться к объекту определяемого пользователем класса в цикле foreach, необходимо реализовать интерфейсы IEnumerator и IEnumerable в их обобщенной или необобщенной форме. Правда, сделать это будет нетрудно, поскольку оба интерфейса не очень велики.

IEnumerator предоставляет возможность выполнить перебор элементов коллекции, предоставлять свойство Current и MoveNext и метод Reset.

Current – получает текущий элемент в коллекции.

MoveNext – перемещает перечислитель к следующему элементу коллекции.

Reset() – устанавливает перечислитель в его начальное положение, т. е. перед первым элементом коллекции.

Пример:

Класс MyInt реализует интерфейсы IEnumerator и IEnumerable.

class MyInt : IEnumerable, IEnumerator

{

int[] ints = { 12, 13, 1, 4 };

int index = -1;

// Реализуем интерейс IEnumerable

public IEnumerator GetEnumerator() { return this; }

// Реализуем интерфейс IEnumerator

public bool MoveNext()

{

if (index == ints.Length - 1)

{

Reset(); return false;

}

index++;

return true;

}

public void Reset()

{ index = -1; }

public object Current

{

get { return ints[index]; }

}

}

class Program

{

static void Main()

{

MyInt mi = new MyInt();

foreach (int i in mi) Console.Write(i+"\t");

Console.ReadLine();

}

}

Контрольные вопросы:

1.Каким количеством классов может быть реализован интерфейс?

2.Может ли класс реализовывать множественные интерфейсы?

3.Необходима ли реализация методов интерфейса в классе, включающем этот интерфейс?

4.Какой модификатор доступа соответствует интерфейсу?

5.Допустимо ли явное указание модификатора доступа для интерфейса?


Тема 10. Объектно-ориентированное программирование Windows-приложений на основе WindowsForms

Лекция 27-28. Библиотеки классов реализации функциональных
возможностей Windows

План:

1.Формы

2.Solution Explorer

3.Class View

4.Properties Window

5.Toolbox

6.Компиляция программы

7.События в Windows-приложениях

7.1.События мыши

 

Формы

Всякий раз, когда вы работаете с какой-либо программой, вы видите на экране прямоугольное окно. В этом окне и располагается вся информация, которая вам нужна. Формы могут иметь стандартный вид, такой, например, как у программы Microsoft Word, или причудливый — как у Winamp.

Форма — это экранный объект, обеспечивающий функциональность программы.

Мы с вами приступаем к созданию Windows-приложений, поэтому первое, чему нам предстоит научиться, — создавать проекты, которые будут содержать наши собственные формы.

Запускаем Visual Studio .NET, выбираем File/New/Project — появляется диалоговое окно (Ctrl+Shift+N приводит к тому же результату), в котором выбираем Visual C# Project и Windows Application (см. рисунок 10.1).

Рисунок 10.1 – Создание нового Windows-приложения

В поле Name задаем имя проекта — FirstForm и сохраняем его в папку, определяемую полем Location. Полученную папку вы сможете впоследствии переместить на другой компьютер и продолжить работу — в ней будут находиться все создаваемые нами файлы этого проекта. На экране появилась пустая Windows-форма.

После того как мы создали новый проект, можно видеть основные части среды разработки как показано на рисунке 4.2

Рисунок 10.2 – Основные части среды разработки Windows-приложения

 

Solution Explorer

Окно Solution Explorer (проводник проекта, View —> Solution Explorer, или сочетание клавиш Ctrl+Alt +L) содержит компоненты, входящие в состав проекта. Пункты контекстного меню этого окна (вызывающегося нажатием правой кнопки мыши) позволяют изменять содержимое проекта, а также добавлять новые компоненты (см. рисунок 4.3)

Рисунок 10.3 – Окно Solution Explorer

При создании нового проекта Solution Explorer содержит компоненты, созданные шаблоном.

Папка References содержит ссылки на классы, используемые в проекте по умолчанию. Двойной щелчок мыши на подпапках References запускает окно Object Browser (проводник объектов, View —> Object Browser, или сочетание клавиш Ctrl+Alt+J). Окно Object Browser, в свою очередь, является исчерпывающим средством получения информации о свойствах объектов, как абстрактный класс brush наследуется от классаSystem.MarshalByRefObject и содержит методы Clone, Dispose(bool), Dispose и Finalize (см. рисунок 4.4).

Рисунок 10.4 – Окно Object Browser

 

Можно получать краткое описание любого метода, класса или свойства, просто щелкнув на нем, — на информационной панели немедленно отобразится краткая справка. Для опытного разработчика Object Browser — незаменимый помощник в работе, гораздо более удобный, чем справка.

Файл App.ico содержит изображение иконки, которое на форме расположено в верхнем левом углу. Более подробно о создании и редактировании иконок — в конце этой лекции.

Файл AssemblyInfo.cs содержит информацию о вашем приложении. При создании дистрибутива (установочного пакета) в этот файл помещается информация программы, используемая в технических целях, а также цифровой ключ.

 

Class View

Окно Class View — (обзор классов, View —> Class View, или сочетание клавиш Ctrl+Shift+C), позволяет перемещаться в коде по выбранному объекту; содержит методы, классы, данные всего листинга проекта. Для перехода, например, в метод Main щелкаем на соответствующем названии в окне Class View (см. рисунок 10.5).

Рисунок 10.5 – Окно Class View

Properties Window

Окно свойств Properties — основной инструмент настройки формы и ее компонентов. Содержимое этого окна представляет собой весь список свойств выбранного в данный момент компонента или формы. Вызывается это окно несколькими способами — в меню View выбираем пункт Properties Window (или используем клавишу F4), на выбранном объекте щелкаем правой кнопкой мыши и в контекстном меню пункт Properties выбираем объект и нажимаем F4 или просто выбираем объект и переходим в окно Properties. Когда вы только создали проект, в окне Properties отображаются свойства самой формы (см. рисунок 10.6).

Рисунок 10.6 – Окно свойств Properties

В таблице 10.1 приводится описание интерфейса самого окна Properties.

Таблица 10.1 – Елементы окна Properties

Элемент Изображение Описание
Object name В поле этого списка выводится название данного выбранного объекта, который является экземпляром какого-либо класса. Здесь Form1 — название формы по умолчанию, которая наследуется от класса System.Windows.Forms.Form
Categorized При нажатии на эту кнопку производится сортировка свойств выбранного объекта по категориям. Можно закрывать категорию, уменьшая число видимых элементов. Когда категория скрыта, вы видите знак (+), когда раскрыта — (–)
Alphabetic Сортировка свойств и событий объекта в алфавитном порядке
Properties При нажатии на эту кнопку отображается перечисление свойств объекта
Events При нажатии на эту кнопку отображается перечисление событий объекта
Description Pane Панель, на которую выводится информация о выбранном свойстве. В данном случае в списке свойств формы было выбрано свойство Text

 

Окно Properties позволяет определять в первую очередь дизайн формы и ее элементов управления. В приложении 12 приводится описание некоторых свойств формы, обычно определяемых в режиме дизайна. При выборе значения свойства, отличного от принятого по умолчанию, оно выделяется жирным шрифтом, что облегчает в дальнейшем определение изменений.

Кнопка окна свойств Events (События) переключает окно Properties в режим управления обработчиками различных событий (например, мыши, клавиатуры) и одновременно выводит список всех событий компонента. Двойной щелчок мыши в поле значения события генерирует обработчик для него и переключает в режим кода.

 

Toolbox

Окно Toolbox (панель инструментов, View —> Toolbox, или сочетание клавиш Ctrl+Alt+X) содержит компоненты Windows-форм, называемые также элементами управления, которые размещаются на форме. Оно состоит из нескольких закладок: My User Controls, Components, Data, Windows Forms и General.

Наиболее часто употребляемой закладкой является Windows Forms. Для размещения нужного элемента управления достаточно просто щелкнуть на нем в окне Toolbox или, ухватив, перетащить его на форму ( см. рисунок 10.7)

Рисунок 10.7 – Окно Toolbox

Закладка My User Controls позволяет хранить собственные списки элементов управления — если вы наиболее часто используете лишь несколько из них, пожалуй, имеет смысл перетащить на эту закладку нужные элементы. Или создать свою собственную закладку.

Если в результате всех экспериментов вы обнаружите, что текущий вид окна Toolbox сильно отличается от первоначального, для восстановления значений по умолчанию выберите в контекстном меню любой закладки пункт Add/Remove Items… . В появившемся окне нажмите на кнопку Reset. Появляется окно предупреждения — "Настройки Toolbox будут восстановлены. Все пользовательские закладки будут удалены. Продолжать?" Согласившись с предупреждением, вы увидите вид Toolbox по умолчанию.

Все закладки, кроме Clipboard Ring и General, содержат компоненты, которые можно перетащить на форму. Закладка Clipboard Ring представляет собой аналог буфера обмена в Microsoft Office 2003, отображающего содержимое буфера за несколько операций копирования или вырезания. Для вставки фрагмента достаточно дважды щелкнуть по нему.

 








Дата добавления: 2015-10-26; просмотров: 2146;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.015 сек.