§4.11. Делегаты | Урок 109 часть 2

Планирование уроков на учебный год (по учебнику Н.Д. Угриновича, профильный уровень)


Урок 109
§4.11. Делегаты



Содержание урока

Делегаты

Проект «Делегаты»

Контрольные вопросы. Компьютерный практикум


Проект «Делегаты»


Создать проект, в котором один делегат вызывает два обработчика событий, а обработчик события вызывается тремя разными делегатами. Делегаты событий «щелчок по кнопке», «щелчок по пункту меню» и «щелчок по кнопке на панели инструментов» вызывают два обработчика событий «изменение текста», которые по умолчанию создаются для списка и текстового поля со списком. В результате после щелчка по кнопке, пункту меню и кнопке на панели инструментов должен выводиться текст «Событие произошло» в качестве элемента списка в поле списка и в текстовом поле со списком.

Создание графического интерфейса проекта на языках Visual Basic .NET, Visual C# и Visual J#

1. Разместить на форме (рис. 4.23):

• список ListBox1 и поле со списком ComboBoxl для вывода текста «Событие произошло» в качестве элементов списка;
• кнопку Button1, меню MenuItem1 и панель инструментов ToolBar1 для создания делегатов событий.

Щелчком по списку создать заготовку по умолчанию обработчика события ListBox1_SelectedIndexChanged.

Щелчком по текстовому полю со списком создать заготовку по умолчанию обработчика события ComboBox1_SelectedIndexChanged.

Введем код обработчиков событий, который выводит текст «Событие произошло» в качестве элемента списка в поле списка и в текстовое поле со списком.

В языке Visual Basic .NET делегаты вводятся непосредственно в заготовки обработчиков событий. Для этого после ключевого слова Handles необходимо ввести делегаты событий «щелчок по кнопке» Button1.Click, «щелчок по пункту меню» MenuItem1.Click и «щелчок по кнопке на панели инструментов» ToolBar1.Click.

Создание программного кода процедур-обработчиков событий и делегатов на языке программирования Visual Basic .NET

2.

Private Sub ListBoxl_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System. EventArgs) Handles Button1.Click, MenuItem1.Click, ToolBar1.Click ListBox1.Items .Add ("Событие произошло")
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System. EventArgs) Handles Button1.Click, MenuItem1.Click, ToolBar1.Click ComboBox1.Items .Add ("Событие произошло")
End Sub

В языках Visual C# и Visual J# делегаты вводятся в разделе программного кода Windows Form Designer generated в области описания соответствующего элемента управления.

Создание делегатов на языке программирования Visual C#

2. Ввести делегаты события «щелчок по кнопке» button1. Click для обработчиков событий listBox1_Selected IndexChanged и comboBox1_SelectedIndexChanged:

this.button1.Click += new System.EventHandler (this.listBox1_SelectedIndexChanged);
this.button1.Click += new System.EventHandler (this.comboBox1_SelectedIndexChanged) ;

3. Ввести делегаты для события «щелчок по пункту меню» menuItem1. Click для обработчиков событий listbox1_SelectedIndexChanged и comboBox1_SelectedIndexChanged:

this.menulteml.Click += new System.EventHandler (this.listBoxl_SelectedIndexChanged);
this.menuIteml.Click += new System.EventHandler(this.comboBoxl_ SelectedlndexChanged);

Создание делегатов на языке программирования Visual J#

2. В разделе программного кода Windows Form Designer generated code ввести делегаты события «щелчок по кнопке» button1.Click для обработчиков событий listBoxl_SelectedIndexChanged и comboBoxl_ SelectedlndexChanged:

this.button1.add_Click(new System.EventHandler (this.listBox1_SelectedIndexChanged));
this.button1.add_Click(new System.EventHandler (this.comboBox1_SelectedIndexChanged)) ;

3. Ввести делегаты для события «щелчок по пункту меню» menultem11.add_Click:

this.menuIteml.add_Click(new System.EventHandler (this.listBox1_SelectedIndexChanged));
this.menuItem1.add_Click(new System.EventHandler (this.comboBoxl_SelectedIndexChanged));

Запуск проекта на языках Visual Basic .NET, Visual C# и Visual J#

4. Запустить проект на выполнение и щелкнуть по кнопке, пункту меню и кнопке панели инструментов.

В списке и поле со списком будут выведены тексты «Событие произошло» (см. рис. 4.23).

Рис. 4.23. Проект «Делегаты»



Следующая страница Контрольные вопросы. Компьютерный практикум



Cкачать материалы урока







Наверх