Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter Eleven Handling Events. 2 Objectives Learn about delegates How to create composed delegates How to handle events How to use the built-in EventHandler.

Similar presentations


Presentation on theme: "1 Chapter Eleven Handling Events. 2 Objectives Learn about delegates How to create composed delegates How to handle events How to use the built-in EventHandler."— Presentation transcript:

1 1 Chapter Eleven Handling Events

2 2 Objectives Learn about delegates How to create composed delegates How to handle events How to use the built-in EventHandler

3 3 Objectives How to handle Control component events How to add more events to an application How to use the Visual Studio IDE to generate event-handling code How to set Control’s tab order

4 4 Objectives How to use the sender object in an event How to add a main menu to a Form How to continue your exploration of C#

5 5 Understanding Delegates A delegate is an object that contains a reference to a method A delegate provides a way to pass a reference to a method as an argument to another method C# provides a compromise between the dangers of C++ pointers and the Java ban on passing functions You declare a delegate using the keyword delegate, followed by an ordinary method declaration including a return type, method name, and argument list

6 6 Understanding Delegates A delegate can encapsulate any method as long as the method has the same return type and the same number and types of arguments

7 7 Creating Composed Delegates You can assign one delegate to another using the = operator You can also use the + and += operators to combine delegates into a composed delegate Only delegates with the same argument list can be composed, and the delegates used must have a void return value You can use the – and -= operators to remove a delegate from a composed delegate

8 8 Creating Composed Delegates Delegate3 Program

9 9 Creating Composed Delegates Output of Delegate3 program

10 10 Handling Events In C#, an event occurs when something interesting happens to an object You use an event to notify a client program when something happens to a class object the program is using To declare an event, you use a delegate An event handler requires two arguments—the sender and an EventArgs object

11 11 Using the Built-in EventHandler The C# language allows you to create events using any delegate type The.NET Framework provides guidelines you should follow if you are developing a class that will be used by others For events that do not use any additional information, the.NET Framework has already defined an appropriate type named EventHandler

12 12 Handling Control Component Events You can use the same techniques to handle events generated or raised by GUI Controls as you do to handle events raised by non-Control-generated events

13 13 Handling Control Component Events Some Control Class Public Instance Events (continued)

14 14 Adding More Events to an Application A Form can contain any number of Controls that might have events associated with them A single control might be able to raise any number of events

15 15 Using the IDE to Generate Event-Handling Code It is possible (and easier) to create event-handling code using the IDE The only difference between event-handling code created by hand and the one you create using the IDE is that the IDE automatically creates a lot of code for you The advantage of using the IDE is the time you save typing and correcting typing errors The advantage of creating methods by hand is that you understand what each statement accomplishes and are able to customize methods to perform exactly the task you want

16 16 Setting Controls’ Tab Order A Control is said to have focus if it raises an event when the user presses Enter TabStop is a Boolean property of a Control that identifies whether the Control will serve as a stopping place in a sequence of Tab key presses TabIndex is a numeric property that indicates the order in which the Control will receive focus when the user presses the Tab key When a Control has a TabIndex of 0, it receives focus when the Form is initialized

17 17 Setting Controls’ Tab Order ManyButtons Form with three Buttons

18 18 Using the sender Object in an Event When a Form contains multiple widgets that you can manipulate, you can write event handling methods for each one When a Form contains multiple widgets, you can also write a single event-handling method that can take appropriate action based on the Control that generated the event The Control that causes an event is represented as a generic object in the object sender argument to an event method

19 19 Using the sender Object in an Event ManyButtons Form including Label

20 20 Using the sender Object in an Event Every object has an Equals() method that can be used to determine the sender object

21 21 Adding a Main Menu to a Form Most programs you use in a Windows environment contain a main menu You can add a main menu to a Form by using the MainMenu Control

22 22 Continuing to Explore C# The Visual Studio IDE contains numerous Controls, each containing hundreds of properties and events There are many resources that are available to use to learn more about C#, including: –Help facility in the Visual Studio IDE –Tutorials in the Help facility –C# discussion groups on the Internet

23 23 Chapter Summary A delegate is an object that contains a reference to, or encapsulates, a method You can assign one delegate to another using the = operator. You also can use the + and ++ operators to combine delegates into a composed delegate that calls the delegates from which it is built. In C#, an event occurs when something “interesting” happens to an object For events that do not use any additional information, the.NET Framework has defined an appropriate delegate type named EventHandler

24 24 Chapter Summary When you use Controls like Buttons and ListBoxes, they already contain events with names like Click, DragOver, MouseEnter, and MouseLeave A Form can contain any number of Controls that might have events associated with them When designing a Form with events, you can use the Visual Studio IDE to automatically create a lot of code for you When users encounter multiple GUI Controls on a Form, usually one Control has Focus

25 25 Chapter Summary When a Form contains multiple widgets that you can manipulate, you can write event-handling methods for each one Most programs you use in the Windows environment contain a main menu, which is a horizontal list of general options that appears under the title bar of a Form If you understand good programming principles and, more specifically, the syntax and structure of C# programs, you will find learning about each new C# feature easier than learning about the last one


Download ppt "1 Chapter Eleven Handling Events. 2 Objectives Learn about delegates How to create composed delegates How to handle events How to use the built-in EventHandler."

Similar presentations


Ads by Google