Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C# ПІДРУЧНИКИ / c# / Manning - Windows.forms.programming.with.c#.pdf
Скачиваний:
108
Добавлен:
12.02.2016
Размер:
14.98 Mб
Скачать

18.2

TIMERS

 

 

We will look at Windows Forms timers

 

 

next. A timer is an object that raises an

 

 

event after a configurable period of time

 

 

has elapsed. There are, in fact, three

 

 

Timer classes provided by the .NET

 

 

Framework. There is one in the Sys-

 

 

tem.Threading namespace for use

 

 

among multiple threads; one in the

 

 

System.Timers namespace for server-

 

 

based recurring tasks; and one in the

 

 

System.Windows.Forms namespace

 

 

that is optimized for the single-threaded

 

 

processing environment used to handle

 

 

events in a Form object.

 

 

Here we will concern ourselves with

 

 

the Windows Forms timer. This timer

 

 

object is normally associated and config-

Figure 18.2 The slide show uses a TrackBar

 

ured within a form. For our example, we

control to track the current position within the

 

 

album.

will create a small slide show form that

will flip through each photo in an album. Our new window is shown in figure 18.2, and will be accessible from a new menu item in the View menu of our MyPhotos MDI application. A quick summary of the Timer class we will use is given in .NET Table 18.2.

.NET Table 18.2 Timer class

The Windows Forms Timer class represents a timer component that raises events at userdefined intervals. This timer is optimized for use in Windows Forms applications and is expected to occur within the processing thread for a Form object. This class is part of the

System.Windows.Forms namespace, and inherits from the System.ComponentModel.Component class.

 

Enabled

Gets or sets whether the time is currently active.

Public Properties

 

 

 

Interval

Gets or sets the time in milliseconds between timer ticks.

 

 

 

 

Start

Starts the timer. This is equivalent to setting the Enabled

 

 

property to true.

Public Methods

 

 

 

Stop

Stops the timer. This is equivalent to setting the Enabled

 

 

property to false.

 

 

 

Public Events

Tick

Occurs when the timer is enabled and the specified

 

interval has elapsed.

 

 

 

 

 

TIMERS

611

Our discussion is divided into the user interface portion and the code portion.

18.2.1CREATING A SLIDE SHOW FORM

We begin our discussion with the design of the new form. This form will use a control we have not previously discussed, namely the TrackBar control. A summary of this control is given in .NET Table 18.3.

.NET Table 18.3 TrackBar class

The TrackBar class represents a control that supports tracking of an integer value through a scrolling interface. The control may appear horizontally or vertically. This class is part of the System.Windows.Forms namespace, and inherits from the Control class.

 

AutoSize

Gets or sets whether the control should automatically

 

 

resize based on its current settings.

 

LargeChange

Gets or sets the amount added or subtracted from

 

 

the Value property for a large scroll in the control.

 

 

The default is five (5).

 

Maximum

Gets or sets the maximum value for this track bar. The

 

 

default is ten (10).

 

Minimum

Gets or sets the minimum value for this track bar. The

 

 

default is zero (0).

Public Properties

Orientation

Gets or sets the Orientation enumeration value for

 

the display orientation of the control.

 

 

 

SmallChange

Gets or sets the amount added or subtracted from

 

 

the Value property for a small scroll in the control.

 

 

The default is one (1).

 

TickFrequency

Gets or sets the delta between tick marks drawn on

 

 

the control. The default is one (1).

 

TickStyle

Gets or sets how the tick marks are displayed on the

 

 

control.

 

Value

Gets or sets the numeric value of the current position

 

 

of the slider in the control.

 

 

 

Public Methods

SetRange

Sets the minimum and maximum values for the

 

control.

 

 

 

 

 

 

ValueChanged

Occurs when the Value property of the control is

Public Events

 

modified, either by movement of the slider or

 

 

assignment in code.

 

 

 

The following table details the steps for drawing the user interface for the SlideShowForm class, including the TrackBar control:

612

CHAPTER 18 ODDS AND ENDS .NET

Set the version number of the MyPhotos application to 18.2.

CREATE THE SLIDE SHOW FORM

 

 

 

 

 

 

 

Action

Result

 

 

 

 

 

 

 

 

 

 

 

 

 

1

Add a new Form class file to the

The new file is shown in the Solution Explorer

 

MyPhotos project called

window, and the form in the Windows Forms

 

SlideShowForm.cs.

 

 

 

 

Designer window.

 

 

 

 

 

 

 

Settings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Property

 

Value

 

 

 

 

 

ControlBox

 

False

 

 

 

 

 

MaximizeBox

 

False

 

 

 

 

 

MinimizeBox

 

False

 

 

 

 

 

ShowInTaskbar

 

False

 

 

 

 

 

Size

 

300, 340

 

 

 

 

 

 

 

 

StartPosition

 

CenterParent

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Place a PictureBox object at the top

This is shown in the graphic for the following step.

 

of the form.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Settings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Property

 

 

Value

 

 

 

 

 

(Name)

 

 

 

pboxSlide

 

 

 

 

 

Anchor

 

Top, Bottom, Left, Right

 

 

 

 

BorderStyle

 

Fixed3D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

Place a Label, TextBox, and two

 

 

Button controls below the picture box.

 

 

Position these as shown in the graphic.

 

 

 

 

 

 

 

 

Settings

 

 

 

 

 

 

 

 

 

 

 

 

Control

 

Property

Value

 

 

 

 

 

Label

 

Text

&Interval

 

 

 

 

 

 

 

Anchor

Bottom, Left

 

 

 

 

TextBox

 

(Name)

txtInterval

 

 

 

 

 

 

 

Anchor

Bottom, Left

 

 

 

 

Button 1

 

Text

2

 

 

 

 

 

 

 

 

 

 

(Name)

btnStop

 

 

 

 

 

 

 

Anchor

Bottom, Right

 

 

 

 

 

 

 

Text

&Stop

 

 

 

 

Button 2

 

(Name)

btnClose

 

 

 

 

 

 

 

Anchor

Bottom, Right

 

 

 

 

 

 

 

Text

&Close

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TIMERS

613

 

 

 

 

 

 

 

CREATE THE SLIDE SHOW FORM

(continued)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Action

 

Result

 

 

 

 

 

 

 

 

 

 

 

 

4

Place a TrackBar control at the base of

 

 

 

the form.

 

 

 

 

 

 

 

 

 

 

 

Settings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Property

 

 

Value

 

 

 

 

 

 

(Name)

 

 

trackSlide

 

 

 

 

 

 

Anchor

 

Bottom, Left, Right

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

Drag a Timer object onto the form.

 

 

 

 

 

 

Settings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Property

 

Value

 

 

 

 

 

 

(Name)

 

slideTimer

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

In the MainForm.cs [Design] window,

 

 

 

add a Slide Show menu to the bottom

 

 

 

of the View menu.

 

 

 

 

 

 

Settings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Property

 

 

Value

 

 

 

 

 

 

(Name)

 

menuSlideShow

 

 

 

 

 

 

Text

 

&Slide Show…

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This completes the design of the interface. The next step is to hook up our controls in the code.

More .NET The ProgressBar class represents a control that permits the progress of an event or procedure to be displayed. This class is related to the TrackBar class in that it contains Minimum, Maximum, and Value properties to manage the current appearance of the control. You can check out this class in the .NET documentation.

I opted to use a track bar in our example because of its support for user adjustment of the current position via the Scroll event. This feature is not available in the ProgressBar class as it is not really intended to interact directly with the user.

614

CHAPTER 18 ODDS AND ENDS .NET

Соседние файлы в папке c#