Лекция6

Содержание

Слайд 2

Делегаты

Делегат – это тип, который представляет ссылки на методы с определенным списком

Делегаты Делегат – это тип, который представляет ссылки на методы с определенным
параметров и типом возвращаемого значения.
Делегат – это тип, который безопасно инкапсулирует метод, схожий с указателем функции в C и С++.
В отличие от указателей функций в C делегаты объектно-ориентированы, типобезопасны и безопасны.

Слайд 3

Делегаты

Использование делегатов:
Объявляем делегат
Создаем экземпляр делегата
Регистрируем метод в делегате
Регистрируем другие методы (при необходимости)
Исключаем

Делегаты Использование делегатов: Объявляем делегат Создаем экземпляр делегата Регистрируем метод в делегате
методы из делегата(при необходимости)
Вызываем делегат

Слайд 4

Делегаты

class Biblioteka
{
public void Book1()
{
Console.WriteLine("Война и мир");
}
public void

Делегаты class Biblioteka { public void Book1() { Console.WriteLine("Война и мир"); }
Book2()
{
Console.WriteLine("Братья Карамазовы");
}
}

Слайд 5

Делегаты

class Program
{
public delegate void MyBook(); //объявляем делегат
static void Main(string[] args)

Делегаты class Program { public delegate void MyBook(); //объявляем делегат static void
{
//создаем экземпляр делегата и регистрируем метод
MyBook myBook = new MyBook(new Biblioteka().Book1);
//добавляем методы
myBook += new MyBook(new Biblioteka().Book2);
myBook(); //вызываем делегат
}
}

Слайд 6

Делегаты

Для чего нужны делегаты?
Обеспечение инкапсуляции
В случае многоадресного делегата: вызов нескольких методов одним

Делегаты Для чего нужны делегаты? Обеспечение инкапсуляции В случае многоадресного делегата: вызов
вызовом делегата
Синхронный и асинхронный вызов метода
Основа события

Слайд 7

События

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

События Событие представляет собой сообщение, посылаемое объектом, чтобы сигнализировать о совершении какого-либо
означает, что произошло или вскоре произойдет изменение в состоянии объекта.
Обработчик события – делегат, на котором событие основано.

Слайд 8

События

static – Делает событие доступным для вызова в любое время, даже если

События static – Делает событие доступным для вызова в любое время, даже
экземпляр класса отсутствует.
virtual – Позволяет производным классам переопределять поведение события при помощи ключевого слова override.
sealed – Указывает , что для производных классов событие более не является виртуальным.
abstract – Компилятор не создаст блоки методов доступа к событиям add и remove и, следовательно, производные классы должны предоставлять собственную реализацию.

Слайд 9

События

Объявление события:
public delegate void MyDelegate(string str);
public event MyDelegate MyEvent;
При разработке обычно используют

События Объявление события: public delegate void MyDelegate(string str); public event MyDelegate MyEvent;
делегаты EventHandler – встроенные обработчики событий .NET
public delegate void EventHandler(object sender, EventArgs e);

Слайд 10

События

Обработчик события – это делегат со специальной сигнатурой.
public delegate void MyEventHandler(object

События Обработчик события – это делегат со специальной сигнатурой. public delegate void
sender, MyEventArgs e);
sender – определяет объект, который издает событие.
e – содержит данные, которые должны быть использованы обработчиком события.

Слайд 11

События

Событие – это именованный делегат, при вызове которого, будут запущены все подписавшиеся

События Событие – это именованный делегат, при вызове которого, будут запущены все
на момент вызова события методы заданной сигнатуры.
event delegateName eventName

Слайд 12

События

События

Слайд 13

События

События

Слайд 14

События

События могут активизировать несколько обработчиков. Такие события называются широковещательными.

События События могут активизировать несколько обработчиков. Такие события называются широковещательными.

Слайд 15

События

События

Слайд 16

События

События

Слайд 17

События

Создание событий:
Определить условие возникновения события и методы, которые должны сработать.
Создать делегат на

События Создание событий: Определить условие возникновения события и методы, которые должны сработать.
основе сигнатуры этих методов.
Создать событие на основе этого делегата и вызвать его когда условие сработает.
Подписаться на событие методами, которые должны сработать.

Слайд 18

СheckedListBox – содержит коллекцию отмеченных и неотмеченных флажками элементов в списке
Свойства:
Count –

СheckedListBox – содержит коллекцию отмеченных и неотмеченных флажками элементов в списке Свойства:
возвращает кол-во элементов списка.
Item[] – возвращает один из элементов
CheckedListBox.

Элементы управления

Слайд 19

Добавление элемента в коллекцию:
checkedListBox1.Items.Add("строка", true);
4-ый элемент коллекции:
checkedListBox1.Items[3];
1-ий из выбранных элементов коллекции:
checkedListBox1.CheckedItems[0]

Элементы управления

Добавление элемента в коллекцию: checkedListBox1.Items.Add("строка", true); 4-ый элемент коллекции: checkedListBox1.Items[3]; 1-ий из

Слайд 20

PictureBox – элемент управления графическим окном Windows для отображения рисунка
Свойства:
Image – возвращает

PictureBox – элемент управления графическим окном Windows для отображения рисунка Свойства: Image
или задает изображение,
отображаемое в PictureBox
SizeMode – указывает, как изображение
отображается

Элементы управления

Слайд 21

RadioButton – возвращает или задает значение, указывающее, отмечен ли элемент управления.
if (radioButton1.Checked)

RadioButton – возвращает или задает значение, указывающее, отмечен ли элемент управления. if

MessageBox.Show("Элемент выбран");
GroupBox – элемент управления, создающий контейнер с границей и заголовком.

Элементы управления

Имя файла: Лекция6.pptx
Количество просмотров: 21
Количество скачиваний: 0