Проект «Делегаты»
Контрольные вопросы. Компьютерный практикум
Создать проект, в котором один делегат вызывает два обработчика событий, а обработчик события вызывается тремя разными делегатами. Делегаты событий «щелчок по кнопке», «щелчок по пункту меню» и «щелчок по кнопке на панели инструментов» вызывают два обработчика событий «изменение текста», которые по умолчанию создаются для списка и текстового поля со списком. В результате после щелчка по кнопке, пункту меню и кнопке на панели инструментов должен выводиться текст «Событие произошло» в качестве элемента списка в поле списка и в текстовом поле со списком.
Создание графического интерфейса проекта на языках Visual Basic .NET, Visual C# и Visual J#
1. Разместить на форме (рис. 4.23):Щелчком по списку создать заготовку по умолчанию обработчика события 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. Проект «Делегаты»
Следующая страница Контрольные вопросы. Компьютерный практикум