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>на В формы<br />

U эл<strong>е</strong>м<strong>е</strong>нты управл<strong>е</strong>ния<br />

Включить двойную буф<strong>е</strong>ризацию можно вручную с помощью объ<strong>е</strong>кта<br />

Bitmap, но в <strong>C#</strong> и .NET сущ<strong>е</strong>ству<strong>е</strong>т встро<strong>е</strong>нная подд<strong>е</strong>ржка этой функции.<br />

Д о ст а точ н о п р и св ои ть св ой ств у D o iib le B u f f e r e d зн а ч <strong>е</strong>н и <strong>е</strong><br />

tru e. Выд<strong>е</strong>лит<strong>е</strong> ваш эл<strong>е</strong>м<strong>е</strong>нт управл<strong>е</strong>ния Zoomer, в окн<strong>е</strong> Properties присвойт<strong>е</strong><br />

свойству D o u b l e B u f f e r e d знач<strong>е</strong>ни<strong>е</strong> true, и м<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 />

н<strong>е</strong> р<strong>е</strong>шит, но разницу вы увидит<strong>е</strong> сразу.<br />

Для р<strong>е</strong>ш<strong>е</strong>ния пробл<strong>е</strong>м с графикой в наш<strong>е</strong>м симулятор<strong>е</strong> вс<strong>е</strong> готово!<br />

Капитальный р<strong>е</strong>монт симулятора<br />

в сл<strong>е</strong>дующ<strong>е</strong>м упражн<strong>е</strong>нии вы полностью п<strong>е</strong>р<strong>е</strong>строит<strong>е</strong> симулятор. Н а­<br />

в<strong>е</strong>рно<strong>е</strong>, им<strong>е</strong><strong>е</strong>т смысл создать новый про<strong>е</strong>кт и воспользоваться командой<br />

Add » Existing Item... для добавл<strong>е</strong>ния вс<strong>е</strong>х н<strong>е</strong>обходимых файлов.<br />

(Н<strong>е</strong> забудьт<strong>е</strong> отр<strong>е</strong>дактировать пространство им<strong>е</strong>н!)<br />

Вот что мы буд<strong>е</strong>м д<strong>е</strong>лать:<br />

Используя событи<strong>е</strong><br />

Paint при<br />

работ<strong>е</strong> с графикой,<br />

вы мож<strong>е</strong>т<strong>е</strong><br />

включить двойную<br />

буф<strong>е</strong>ризацию,<br />

изм<strong>е</strong>нив<br />

вс<strong>е</strong>го одно свойство.<br />

Q У д ал им пользоват<strong>е</strong>льский эл<strong>е</strong>м<strong>е</strong>нт управл<strong>е</strong>ния B e e C o n t r o l<br />

На пол<strong>е</strong> и в уль<strong>е</strong> н<strong>е</strong> должно остаться эл<strong>е</strong>м<strong>е</strong>нтов управл<strong>е</strong>ния. Пч<strong>е</strong>л, цв<strong>е</strong>ты и ул<strong>е</strong>й мы нарису<strong>е</strong>м<br />

ср<strong>е</strong>дствами GDI-t-. Поэтому щ<strong>е</strong>лкнит<strong>е</strong> правой кнопкой мыши на строчк<strong>е</strong> B e e C o n t r o l .es<br />

в окн<strong>е</strong> Solution Explorer и выб<strong>е</strong>рит<strong>е</strong> команду Delete.<br />

О Д ля управл<strong>е</strong>ния пч<strong>е</strong>лины ми крыльями вам потр<strong>е</strong>бу<strong>е</strong>тся тайм<strong>е</strong>р<br />

Пч<strong>е</strong>лы двигают крыльями намного м<strong>е</strong>дл<strong>е</strong>нн<strong>е</strong><strong>е</strong>, ч<strong>е</strong>м обновляются кадры симулятора, поэтому<br />

вам потр<strong>е</strong>бу<strong>е</strong>тся бол<strong>е</strong><strong>е</strong> м<strong>е</strong>дл<strong>е</strong>нный сч<strong>е</strong>тчик. Это н<strong>е</strong>удивит<strong>е</strong>льно, в<strong>е</strong>дь эл<strong>е</strong>м<strong>е</strong>нт<br />

B e e C o n t r o l был снабж<strong>е</strong>н для этой ц<strong>е</strong>ли встро<strong>е</strong>нным тайм<strong>е</strong>ром.<br />

О Р<strong>е</strong>конструкция визуализатора<br />

Вам больш<strong>е</strong> н<strong>е</strong> понадобятся словари, так как эл<strong>е</strong>м<strong>е</strong>нтов P i c t u r e B o x и B e e C o n t r o l уж<strong>е</strong> н<strong>е</strong>т.<br />

Вм<strong>е</strong>сто них фигуриру<strong>е</strong>т м<strong>е</strong>тод D r a w H i v e ( g ) , рисующий форму H i v e на объ<strong>е</strong>кт<strong>е</strong> Graphics,<br />

и м<strong>е</strong>тод D r a w F i e l d ( g ) , рисующий форму Field.<br />

И напосл<strong>е</strong>док, подклю чим новый визуализатор<br />

Формам H i v e и F i e l d нужны обработчки события Paint. Каждый из них вызыва<strong>е</strong>т м<strong>е</strong>тод<br />

D r a w F i e l d (g) или D r a w H i v e (g) объ<strong>е</strong>кта R enderer. Тайм<strong>е</strong>ры ж<strong>е</strong> вызывают м<strong>е</strong>тод<br />

I n v a l i d a t e (), обновляющий сод<strong>е</strong>ржимо<strong>е</strong> форм. П ри этом связанны<strong>е</strong> с ними обработчики<br />

события P a i n t будут визуализировать кадр.<br />

I<br />

у а Ч н <strong>е</strong> м !<br />

------------------------------- ►<br />

дальш<strong>е</strong> ► 619

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

Saved successfully!

Ooh no, something went wrong!