14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

э л <strong>е</strong> м <strong>е</strong> н т ы у п р а в л <strong>е</strong> н и <strong>е</strong> и г р а ф и ч <strong>е</strong> с к и <strong>е</strong> ф р а г м <strong>е</strong> н т ы<br />

О Д о с т у п к д о б а в л <strong>е</strong> н н ы м р <strong>е</strong> с у р с а м о с у щ <strong>е</strong> с тв л я <strong>е</strong> т с я п о с р <strong>е</strong> д с тв о м кл а с с а<br />

P r o p e r t i e s .Resources. В в <strong>е</strong> д и т <strong>е</strong> в п р о и з в о л ь н о м м <strong>е</strong> с т <strong>е</strong> к о д а P r o p e r t i e s .<br />

R e s o u r c e y r ~ ^ , H о к н о In te lliS e n s e п о к а ж <strong>е</strong> т р а с к р ы в а ю щ и й с я с п и с о к со в с<strong>е</strong> м и<br />

Добавим эл<strong>е</strong>м<strong>е</strong>нт BeeControl!<br />

class BeeControl : PictureBox {<br />

private Timer an im ation T im er =<br />

им <strong>е</strong>нно она указы ва<strong>е</strong>м И С Р на<br />

н<strong>е</strong>обходимость вызвать окно с<br />

м ы<br />

програм м ы мзо<br />

браж<strong>е</strong>ни<strong>е</strong> хранят ­<br />

ся в памят и как<br />

объ<strong>е</strong>кты Bitmap-<br />

I<br />

pictureBoxl.Image =<br />

Properties.Resources.Bee_animation_l;<br />

Зд<strong>е</strong>сь указыва<strong>е</strong>тся изображ<strong>е</strong>ни<strong>е</strong>,<br />

связанно<strong>е</strong> с эл<strong>е</strong>м<strong>е</strong>нт ом PictureBox<br />

(в данном случа<strong>е</strong> наил<strong>е</strong> начально<strong>е</strong><br />

изображ<strong>е</strong>ни<strong>е</strong>).<br />

Эти изображ<strong>е</strong>ния<br />

хранят ся в вид<strong>е</strong><br />

с Ы с т в а общ<strong>е</strong>го<br />

дост упа класса<br />

P ro p erties. Resources.<br />

new Timer()<br />

public BeeControl() {<br />

уб<strong>е</strong>дит <strong>е</strong>сь, animationTimer.Tick += new EventHandler(animationTimer_Tick)<br />

что в в<strong>е</strong>рхн<strong>е</strong>й animationTimer.Interval = 150;<br />

части класса<br />

находит ­<br />

animationTimer.Start 0;<br />

ся ст рочка BackColor = System.Drawing.Color.Transparent;<br />

«using System. BackgroundlmageLayout = ImageLayout.Stretch;<br />

Windows. J<br />

fo rm s» .<br />

private int cell = 0;<br />

void animationTimer_Tiok(object sender,<br />

cell++;<br />

Каждый от сч<strong>е</strong>т switch (cell) {<br />

т айм<strong>е</strong>ра вы ­<br />

зыва<strong>е</strong>т событи<strong>е</strong>,<br />

оно ув<strong>е</strong>личива<strong>е</strong>т<br />

знач<strong>е</strong>ни<strong>е</strong> п <strong>е</strong> р <strong>е</strong> ­<br />

м<strong>е</strong>нной cell на<br />

1 , и при п о м о­<br />

щи оп<strong>е</strong>рат ора<br />

sw itch назнача<strong>е</strong>т^<br />

карт инку свойст<br />

ву Image. }<br />

Нужно добавить с т т ч -<br />

^ y / j s i n g System. ^<br />

M n dow s-Form s», т ак<br />

как б про<strong>е</strong>кт <strong>е</strong> при -<br />

^ ^ с т в у ю т эл<strong>е</strong>м<strong>е</strong>нты<br />

PictureBox и Tim er.<br />

Зд<strong>е</strong>сь т айм<strong>е</strong>ру<br />

присваивают -<br />

ся начальны<strong>е</strong><br />

знач<strong>е</strong>ния п у ­<br />

т <strong>е</strong>м создания<br />

<strong>е</strong>го экз<strong>е</strong>мпляра,<br />

задания свой -<br />

ства Interval<br />

и добавл<strong>е</strong>ния<br />

обработчика<br />

событий.<br />

Посл<strong>е</strong> возвращ<strong>е</strong>ния<br />

EventArgs <strong>е</strong>) { к кадру # 1, знач<strong>е</strong>ни<strong>е</strong><br />

парам <strong>е</strong>т ра cell с т а -<br />

^ новится равным О.<br />

Backgroundlmage Properties.Resources.Bee_animation_l; break;<br />

Backgroundlmage Properties.Resources.Bee_aniraation_2; break;<br />

Backgroundlmage Properties.Resources.Bee_animation_3; break;<br />

Backgroundlmage Properties.Resources.Bee_animation_4; break;<br />

Backgroundlmage Properties.Resources.Bee_aniraation_3; break;<br />

default: Backgroundlmage = Properties.Resources.Bee_animation_2;<br />

cell = 0; break;<br />

вв<strong>е</strong>дя код эл<strong>е</strong>м<strong>е</strong>нт а управл<strong>е</strong>ния, п<strong>е</strong>р<strong>е</strong>ст ройт <strong>е</strong> програм м у<br />

для отображ<strong>е</strong>ния изм<strong>е</strong>н<strong>е</strong>ний в конст рукт ор<strong>е</strong>.<br />

П остройт<strong>е</strong> программу. Э л <strong>е</strong> м <strong>е</strong> н т у п р а в л <strong>е</strong> н и я B e e C o n t r o l д о л ж <strong>е</strong> н п о я в и т ь с я в о к н <strong>е</strong><br />

to o lb o x . П <strong>е</strong> р <strong>е</strong> т а щ и т <strong>е</strong> <strong>е</strong> го н а ф орм у, и вы п о л у ч и т <strong>е</strong> анимированную п ч <strong>е</strong>лу!

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!