SlideShare a Scribd company logo
1 of 555
Äèàíà Çàê
САМОУЧИТЕЛЬ
Visual Basic
.NET
Ìîñêâà • Ñàíêò-Ïåòåðáóðã • Íèæíèé Íîâãîðîä • Âîðîíåæ
Ðîñòîâ-íà-Äîíó • Åêàòåðèíáóðã • Ñàìàðà
Êèåâ • Õàðüêîâ • Ìèíñê
ÁÁÊ 32. 973-018ÿ7
ÓÄÊ 681.3.06(075)
Ç-18
Ç-18 Ñàìîó÷èòåëü Visual Basic .NET/Ä. Çàê. — Êèåâ: BHV; ÑÏá.: Ïèòåð, 2003 —
558 ñ.: èë.
ISBN 966-552-109-8
ISBN 5-94723-604-4
 êíèãå îïèñàíû ïðèåìû ðàáîòû â ñðåäå .NET, à òàêæå ïðîãðàììèðîâàíèå íà ÿçûêå Visual
Basic .NET. Îáó÷åíèå ñòðîèòñÿ íà ïðàêòè÷åñêîé îñíîâå, ñ ïåðâîãî çàíÿòèÿ ÷èòàòåëü ñîçäàåò ãîòî-
âûå ïðèëîæåíèÿ. Êîíñòðóêöèè ÿçûêà Visual Basic, à òàêæå ïåðåìåííûå, öèêëû, óïðàâëÿþùèå
ñòðóêòóðû, ìàññèâû è äðóãèå ýëåìåíòû ÿçûêà ðàññìàòðèâàþòñÿ ïîñëåäîâàòåëüíî, ïî ìåðå óñëîæ-
íåíèÿ ïðèìåðîâ. Âíèìàíèþ ÷èòàòåëÿ ïðåäëàãàåòñÿ òàêæå ìàòåðèàë, ïîñâÿùåííûé îáúåêòíî-îðè-
åíòèðîâàííîìó ïðîãðàììèðîâàíèþ, ïðîåêòèðîâàíèþ ïðèëîæåíèé è ìåòîäàì îáðàáîòêè îøèáîê.
Êíèãà áóäåò ïîëåçíà íà÷èíàþùèì ïðîãðàììèñòàì è ñòóäåíòàì.
ÁÁÊ 32 973-018ÿ7
ÓÄÊ 681.3.06(075)
Èíôîðìàöèÿ, ñîäåðæàùàÿñÿ â äàííîé êíèãå, ïîëó÷åíà èç èñòî÷íèêîâ, ðàññìàòðèâàåìûõ èçäàòåëüñòâîì êàê íàäåæíûå. Òåì íå
ìåíåå, èìåÿ â âèäó âîçìîæíûå ÷åëîâå÷åñêèå èëè òåõíè÷åñêèå îøèáêè, èçäàòåëüñòâî íå ìîæåò ãàðàíòèðîâàòü àáñîëþòíóþ òî÷-
íîñòü è ïîëíîòó ïðèâîäèìûõ ñâåäåíèé è íå íåñåò îòâåòñòâåííîñòè çà âîçìîæíûå îøèáêè, ñâÿçàííûå ñ èñïîëüçîâàíèåì êíèãè.
ISBN 966-552-109-8 © Cource Technology, a division of Thomson Leaming, Inc., 2002
ISBN 0-619-01662-0 (àíãë.) © Èçäàòåëüñêàÿ ãðóïïà BHV, Êèåâ, 2003
ISBN 5-94723-604-4 ÇÀÎ © ÇÀÎ Èçäàòåëüñêèé äîì «Ïèòåð», 2003
Êðàòêîå ñîäåðæàíèå
Ïðåäèñëîâèå.......................................................................................13
Ââåäåíèå ............................................................................................15
Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET...............................................17
Òåìà 2. Ýòàïû ðàçðàáîòêè ïðèëîæåíèé .............................................64
Òåìà 3. Ïåðåìåííûå è êîíñòàíòû ....................................................109
Òåìà 4. Óñëîâíûå îïåðàòîðû...........................................................155
Òåìà 5. Åùå ðàç îá óñëîâíûõ îïåðàòîðàõ ........................................203
Òåìà 6. Öèêëû.................................................................................257
Òåìà 7. Ïðîöåäóðû è ôóíêöèè.........................................................315
Òåìà 8. Ðàáîòà ñî ñòðîêàìè .............................................................352
Òåìà 9. Ôàéëû ïîñëåäîâàòåëüíîãî äîñòóïà è ïå÷àòü .......................387
Òåìà 10. Ôàéëû ïðîèçâîëüíîãî äîñòóïà ............................................429
Òåìà 11. Ìàññèâû..............................................................................461
Òåìà 12. Ðàáîòà ñ áàçàìè äàííûõ......................................................493
Ïðèëîæåíèå À. Îáðàáîòêà îøèáîê è îòëàäêà...................................528
Ïðèëîæåíèå Á. Ïàíåëü èíñòðóìåíòîâ êîíñòðóêòîðà
Windows-ôîðì.........................................................547
Àëôàâèòíûé óêàçàòåëü .....................................................................551
Ñîäåðæàíèå
Ïðåäèñëîâèå ................................................................................13
Ââåäåíèå ......................................................................................15
Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET.......................................17
Ñîçäàíèå çàñòàâêè Copyright .......................................................................................17
Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé .................................................................18
Çàïóñê è íàñòðîéêà Visual Studio .NET ...................................................................18
Ñîçäàíèå ðåøåíèÿ äëÿ çàñòàâêè Copyright ............................................................22
Îêíà Windows Form Designer è Solution Explorer ....................................................27
Îêíî Properties......................................................................................................30
Ñâîéñòâà îáúåêòà Windows Form ...........................................................................32
Ñîõðàíåíèå ðåøåíèÿ è âûõîä èç Visual Studio .NET ...............................................36
Çàíÿòèå 2. Ðàáîòà ñ ýëåìåíòàìè óïðàâëåíèÿ ...............................................................38
Îêíî Toolbox.........................................................................................................38
Èñïîëüçîâàíèå èíñòðóìåíòà Label.........................................................................42
Îäíîâðåìåííîå èçìåíåíèå ñâîéñòâà íåñêîëüêèõ ýëåìåíòîâ óïðàâëåíèÿ...............46
Èñïîëüçîâàíèå ìåíþ Format .................................................................................48
Ïðèìåíåíèå èíñòðóìåíòà PictureBox .....................................................................48
Èñïîëüçîâàíèå èíñòðóìåíòà Button.......................................................................49
Çàïóñê è çàâåðøåíèå ðàáîòû ïðèëîæåíèÿ.............................................................51
Ñîçäàíèå ïðîãðàììû íà Visual Basic .NET..............................................................53
Çàíÿòèå 3. Çàâåðøåíèå ðàáîòû íàä çàñòàâêîé Copyright..............................................58
Ïðèìåíåíèå èíñòðóìåíòà Timer ............................................................................58
Íàñòðîéêà ñâîéñòâà FormBorderStyle .....................................................................61
Ñâîéñòâà MinimizeBox, MaximizeBox è ControlBox ...................................................62
Òåìà 2. Ýòàïû ðàçðàáîòêè ïðèëîæåíèé.....................................64
Ñîçäàíèå ïðèëîæåíèÿ äëÿ ïðèåìà çàêàçîâ..................................................................64
Çàíÿòèå 1. Ïðîåêòèðîâàíèå îáúåêòíî-îðèåíòèðîâàííîãî ïðèëîæåíèÿ ........................65
Ïîðÿäîê ñîçäàíèÿ îáúåêòíî-îðèåíòèðîâàííîãî óïðàâëÿåìîãî ñîáûòèÿìè
ïðèëîæåíèÿ .........................................................................................................65
Îïèñàíèå îáúåêòîâ ïðèëîæåíèÿ è âûïîëíÿåìûõ èìè çàäà÷ .................................66
Ðàçðàáîòêà ýñêèçà èíòåðôåéñà ïîëüçîâàòåëÿ........................................................70
Çàíÿòèå 2. Ñîçäàíèå èíòåðôåéñà ïîëüçîâàòåëÿ...........................................................74
Ðàçìåùåíèå ýëåìåíòîâ èíòåðôåéñà......................................................................74
Ïðèìåíåíèå ãðàôèêè, øðèôòîâ è öâåòà................................................................76
Âûáîð ñòèëÿ ðàìêè ýëåìåíòà óïðàâëåíèÿ .............................................................79
Ñîçäàíèå íàäïèñè íà ýëåìåíòå óïðàâëåíèÿ ..........................................................79
Íàçíà÷åíèå êëàâèø áûñòðîãî äîñòóïà ..................................................................82
Íàñòðîéêà ñâîéñòâà TabIndex................................................................................84
Çàíÿòèå 3. Ïðîãðàììèðîâàíèå, òåñòèðîâàíèå è îòëàäêà ïðèëîæåíèÿ..........................91
Ïðîãðàììèðîâàíèå ïðèëîæåíèÿ............................................................................91
Ñîçäàíèå ïðîãðàììû äëÿ êíîïêè Clear Screen .......................................................92
Àðèôìåòè÷åñêèå âûðàæåíèÿ.................................................................................97
Ñîçäàíèå ïðîãðàììû äëÿ êíîïêè CalcButton..........................................................98
Ôóíêöèÿ Val ........................................................................................................102
Ôóíêöèÿ Format...................................................................................................104
Òåñòèðîâàíèå è îòëàäêà ïðèëîæåíèÿ ..................................................................106
Ñîçäàíèå äîêóìåíòàöèè ......................................................................................107
Òåìà 3. Ïåðåìåííûå è êîíñòàíòû ............................................109
Âíåñåíèå èçìåíåíèé â ïðèëîæåíèå Skate-Away Sales ................................................109
Çàíÿòèå 1. Ñîçäàíèå ïåðåìåííûõ è èìåíîâàííûõ êîíñòàíò .......................................110
Èñïîëüçîâàíèå ïåðåìåííûõ äëÿ õðàíåíèÿ èíôîðìàöèè ......................................110
Îáúÿâëåíèå ïåðåìåííîé .....................................................................................115
Ïðèñâàèâàíèå çíà÷åíèé ïåðåìåííîé...................................................................116
Îáëàñòü âèäèìîñòè ïåðåìåííîé ..........................................................................117
Èìåíîâàííûå êîíñòàíòû .....................................................................................124
Çàíÿòèå 2. Èçìåíåíèå ïðèëîæåíèÿ Skate-Away Sales .................................................127
Õðàíåíèå èíôîðìàöèè â ïåðåìåííûõ..................................................................127
Èçìåíåíèå ïðîãðàììû êíîïêè Calculate Order .....................................................129
Êîíêàòåíàöèÿ ñòðîê ............................................................................................136
Ôóíêöèÿ InputBox................................................................................................138
Ñèìâîë íîâîé ñòðîêè ..........................................................................................142
Íàçíà÷åíèå êíîïêè ïî óìîë÷àíèþ ......................................................................144
Çàíÿòèå 3. Äîïîëíåíèÿ ê ïðèëîæåíèþ Skate-Away Sales............................................146
Èçìåíåíèå ïðîöåäóð îáðàáîòêè ñîáûòèé Load è Click..........................................146
Ñîäåðæàíèå 7
Ñòàòè÷åñêèå ïåðåìåííûå ....................................................................................151
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ TextChanged ......................................................152
Ñâÿçûâàíèå ïðîöåäóðû ñ ðàçëè÷íûìè îáúåêòàìè èëè ñîáûòèÿìè........................153
Òåìà 4. Óñëîâíûå îïåðàòîðû....................................................155
Ñîçäàíèå ïðèëîæåíèÿ, âû÷èñëÿþùåãî åæåìåñÿ÷íûå ïëàòåæè...................................155
Çàíÿòèå 1. Îïåðàòîð If…Then…Else............................................................................156
Âåòâÿùèåñÿ ïðîöåññû .........................................................................................156
Ñîçäàíèå ïñåâäîêîäà äëÿ óñëîâíûõ îïåðàòîðîâ If è If…Else................................157
Ïðåäñòàâëåíèå îïåðàòîðîâ If è If…Else â ñòðóêòóðíîé ñõåìå àëãîðèòìà ..............159
Èñïîëüçîâàíèå îïåðàòîðîâ If è If…Else ...............................................................160
Îïåðàòîðû ñðàâíåíèÿ .........................................................................................161
Ëîãè÷åñêèå îïåðàòîðû ........................................................................................166
Ôóíêöèè UCase è LCase .......................................................................................173
Çàíÿòèå 2. Ïðèëîæåíèå, âû÷èñëÿþùåå ñóììó åæåìåñÿ÷íûõ ïëàòåæåé ......................177
Ðàçðàáîòêà èíòåðôåéñà ïîëüçîâàòåëÿ.................................................................177
Ñîçäàíèå ïðîöåäóðû CalcPayButton_Click.............................................................183
Ìåòîä MessageBox.Show......................................................................................189
Ïðîãðàììèðîâàíèå ñîáûòèÿ TextChanged............................................................195
Çàíÿòèå 3. Çàâåðøåíèå ïðèëîæåíèÿ Monthly Payment Calculator ................................197
Ñîáûòèå KeyPress................................................................................................197
Âûðàâíèâàíèå òåêñòà â ýëåìåíòå óïðàâëåíèÿ Label.............................................201
Òåìà 5. Åùå ðàç îá óñëîâíûõ îïåðàòîðàõ................................203
Ðàçðàáîòêà ïðèëîæåíèÿ äëÿ ìàòåìàòè÷åñêîãî ïðàêòèêóìà ........................................203
Çàíÿòèå 1. Âëîæåííûå óñëîâíûå îïåðàòîðû, îïåðàòîðû If...ElseIf...Else è Case .........204
Âëîæåííûå óñëîâíûå îïåðàòîðû.........................................................................204
Ëîãè÷åñêèå îøèáêè â óñëîâíûõ îïåðàòîðàõ ........................................................209
Îïåðàòîð If...ElseIf...Else .....................................................................................215
Îïåðàòîð Case ....................................................................................................217
Îïåðàòîðû Is, TypeOf…Is è Like...........................................................................222
Çàíÿòèå 2. Ðàçðàáîòêà ïðèëîæåíèÿ Math Practice.......................................................228
Çàâåðøåíèå èíòåðôåéñà ïîëüçîâàòåëÿ ...............................................................228
Ïðîãðàììèðîâàíèå ïðèëîæåíèÿ Math Practice .....................................................235
Ñîçäàíèå ïîëüçîâàòåëüñêîé ïðîöåäóðû ..............................................................237
Ñîçäàíèå ïðîöåäóð îáðàáîòêè ñîáûòèÿ Click ïåðåêëþ÷àòåëåé Grade 1
è Grade 2.............................................................................................................241
Ñîçäàíèå ïðîöåäóð îáðàáîòêè ñîáûòèÿ Click ïåðåêëþ÷àòåëåé Addition
è Subtraction........................................................................................................244
Ñîçäàíèå ïðîöåäóðû îáðàáîòêè ñîáûòèÿ Load ôîðìû.........................................246
8 Ñîäåðæàíèå
Çàíÿòèå 3. Çàâåðøåíèå ðàçðàáîòêè ïðèëîæåíèÿ Math Practice...................................249
Ñîçäàíèå ïðîöåäóðû CheckAnswerButton_Click ....................................................249
Ñîçäàíèå ïðîöåäóðû SummaryCheckBox_Click......................................................254
Òåìà 6. Öèêëû ............................................................................257
Ïðîåêòèðîâàíèå ïðèëîæåíèÿ, îïðåäåëÿþùåãî ñåìåñòðîâóþ îöåíêó
ïî ïðîãðàììèðîâàíèþ...............................................................................................257
Çàíÿòèå 1. Öèêëè÷åñêèå êîíñòðóêöèè ........................................................................258
Öèêëè÷åñêèå êîíñòðóêöèè ...................................................................................258
Îïåðàòîð For…Next .............................................................................................259
Îïåðàòîð Do…Loop..............................................................................................269
Ïðèìåíåíèå ñ÷åò÷èêîâ è ñóììèðóþùèõ ïåðåìåííûõ...........................................276
Çàíÿòèå 2. Ðàáîòà ñ ñåìåéñòâîì Controls ...................................................................285
Ñåìåéñòâî ýëåìåíòîâ óïðàâëåíèÿ Controls ..........................................................285
Îáúåêòíûå ïåðåìåííûå ......................................................................................288
Îïåðàòîð For Each…Next .....................................................................................291
Ñîçäàíèå ïîëüçîâàòåëüñêèõ ñåìåéñòâ..................................................................296
Ïðèëîæåíèå, âû÷èñëÿþùåå ñåìåñòðîâóþ îöåíêó ïî ïðîãðàììèðîâàíèþ.............299
Ðàçðàáîòêà ïðîöåäóðû GradeForm_Load ..............................................................301
Ðàçðàáîòêà îáðàáîò÷èêà ñîáûòèÿ Click ðàñïîëîæåííûõ â ôîðìå ôëàæêîâ...........302
Çàíÿòèå 3. Çàâåðøåíèå ïðèëîæåíèÿ äëÿ îïðåäåëåíèÿ îöåíêè
ïî ïðîãðàììèðîâàíèþ..............................................................................307
Ðàçðàáîòêà ïðîöåäóðû DisplayButton_Click...........................................................307
Ñîçäàíèå ïðîöåäóðû îáðàáîòêè ñîáûòèÿ Enter ïîëåé ôîðìû ..............................311
Ñîçäàíèå ïðîöåäóðû îáðàáîòêè ñîáûòèÿ Closing îáúåêòà GradeForm...................313
Òåìà 7. Ïðîöåäóðû è ôóíêöèè .................................................315
Ïðîåêòèðîâàíèå áóõãàëòåðñêîãî ïðèëîæåíèÿ............................................................315
Çàíÿòèå 1. Ïðîåêòèðîâàíèå ïîäïðîãðàìì è ôóíêöèé.................................................316
Ïðîöåäóðû è ïîäïðîãðàììû................................................................................316
Ïåðåäà÷à àðãóìåíòîâ â ïîëüçîâàòåëüñêèå ïîäïðîãðàììû ...................................317
Ôóíêöèè..............................................................................................................324
Çàíÿòèå 2. Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ ListBox............................................327
Ïðîåêòèðîâàíèå èíòåðôåéñà áóõãàëòåðñêîãî ïðèëîæåíèÿ...................................327
Äîáàâëåíèå â ôîðìó ýëåìåíòà óïðàâëåíèÿ ListBox..............................................328
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ CalculateButton_Click ..........................................336
Ñîçäàíèå ôóíêöèè GetFwtTax..............................................................................337
Çàâåðøåíèå îáðàáîò÷èêà ñîáûòèÿ CalculateButton_Click ......................................342
Î÷èñòêà ñîäåðæèìîãî ýëåìåíòîâ óïðàâëåíèÿ Label.............................................344
Ñîäåðæàíèå 9
Çàíÿòèå 3. Çàâåðøåíèå ïðîåêòèðîâàíèÿ áóõãàëòåðñêîãî ïðèëîæåíèÿ........................346
Äîáàâëåíèå ñóùåñòâóþùåé ôîðìû â ðåøåíèå ....................................................346
Ïðîöåäóðà Sub Main ............................................................................................348
Ñîçäàíèå ýêçåìïëÿðà ôîðìû...............................................................................349
Òåìà 8. Ðàáîòà ñî ñòðîêàìè.......................................................352
Ñîçäàíèå èãðû «Âèñåëèöà» .......................................................................................352
Çàíÿòèå 1. Ðàáîòà ñî ñòðîêàìè ..................................................................................353
Îïðåäåëåíèå êîëè÷åñòâà ñèìâîëîâ â ñòðîêå .......................................................353
Óäàëåíèå ñèìâîëîâ èç ñòðîêè .............................................................................354
Ïîèñê ïîäñòðîêè â íà÷àëå èëè êîíöå ñòðîêè .......................................................358
Èçâëå÷åíèå ñèìâîëîâ èç ñòðîêè..........................................................................360
Çàìåíà ñèìâîëîâ â ñòðîêå...................................................................................362
Äîáàâëåíèå ñèìâîëîâ â ñòðîêó ...........................................................................364
Ïîèñê çàäàííîé ïîñëåäîâàòåëüíîñòè ñèìâîëîâ â ñòðîêå .....................................365
Çàíÿòèå 2. Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ MainMenu .......................................368
Çàâåðøåíèå èíòåðôåéñà èãðû «Âèñåëèöà»..........................................................368
Ñîçäàíèå ìåíþ ...................................................................................................369
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ FileExitMenuItem_Click ........................................373
Çàíÿòèå 3. Çàâåðøåíèå èãðû «Âèñåëèöà» ..................................................................375
Ïðèëîæåíèå äëÿ èãðû «Âèñåëèöà»......................................................................375
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ FileNewMenuItem_Click .......................................376
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ Click äëÿ íàäïèñåé, ñîäåðæàùèõ áóêâû ..............379
Òåìà 9. Ôàéëû ïîñëåäîâàòåëüíîãî äîñòóïà è ïå÷àòü.............387
Ñîçäàíèå ïðèëîæåíèÿ äëÿ ó÷åòà ðàçëè÷íûõ ìåðîïðèÿòèé.........................................387
Çàíÿòèå 1. Ôàéëû ïîñëåäîâàòåëüíîãî äîñòóïà...........................................................388
Òèïû ôàéëîâ.......................................................................................................388
Ôàéëû ïîñëåäîâàòåëüíîãî äîñòóïà .....................................................................388
Èñïîëüçîâàíèå îáúåêòîâ StreamWriter è StreamReader ........................................390
Îòêðûòèå ôàéëà ïîñëåäîâàòåëüíîãî äîñòóïà ......................................................390
Çàïèñü â ôàéë ïîñëåäîâàòåëüíîãî äîñòóïà .........................................................393
×òåíèå èç ôàéëà ïîñëåäîâàòåëüíîãî äîñòóïà......................................................397
Çàêðûòèå ôàéëà ïîñëåäîâàòåëüíîãî äîñòóïà.......................................................398
Äåìîíñòðàöèÿ ðàáîòû ñ ôàéëàìè ïîñëåäîâàòåëüíîãî äîñòóïà ............................399
Çàíÿòèå 2. Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ DateTimePicker ...............................403
Çàâåðøåíèå èíòåðôåéñà ïðèëîæåíèÿ Carriage House ..........................................403
Äîáàâëåíèå ýëåìåíòà óïðàâëåíèÿ DateTimePicker...............................................404
Ñâîéñòâî ShowUpDown........................................................................................407
Ñâîéñòâî Format..................................................................................................408
Ñâîéñòâî Value....................................................................................................409
Ñâîéñòâî Text......................................................................................................412
10 Ñîäåðæàíèå
Êàê ïîëó÷èòü ñèñòåìíîå âðåìÿ............................................................................412
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ CarriageForm_Load .............................................414
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ AddButton_Click..................................................418
Çàíÿòèå 3. Çàâåðøåíèå ðàçðàáîòêè ïðèëîæåíèÿ Carriage House ................................422
Ïðèëîæåíèå äëÿ Carriage House ..........................................................................422
Äîáàâëåíèå ýëåìåíòà óïðàâëåíèÿ PrintDocument ................................................422
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ PrintButton_Click.................................................423
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ PrintDocument_PrintPage.....................................424
Ìåòîä e.Graphics.DrawString ................................................................................425
Òåìà 10. Ôàéëû ïðîèçâîëüíîãî äîñòóïà..................................429
Ñîçäàíèå ïðèëîæåíèÿ äëÿ ñåìèíàðà .........................................................................429
Çàíÿòèå 1. Ðàáîòà ñ ôàéëàìè ïðîèçâîëüíîãî äîñòóïà................................................430
Ñðàâíåíèå ôàéëîâ ïðîèçâîëüíîãî è ïîñëåäîâàòåëüíîãî äîñòóïà ........................430
Ñîçäàíèå ñòðóêòóðû çàïèñè.................................................................................432
Îáúÿâëåíèå ïåðåìåííîé çàïèñè..........................................................................434
Îòêðûòèå ôàéëà ïðîèçâîëüíîãî äîñòóïà.............................................................434
Ñîõðàíåíèå çàïèñè â ôàéëå ïðîèçâîëüíîãî äîñòóïà ...........................................435
×òåíèå çàïèñåé èç ôàéëà ïðîèçâîëüíîãî äîñòóïà ...............................................438
Çàêðûòèå ôàéëà ïðîèçâîëüíîãî äîñòóïà .............................................................439
Çàíÿòèå 2. Èñïîëüçîâàíèå ôàéëà ïðîèçâîëüíîãî äîñòóïà..........................................441
Ïðèëîæåíèå äëÿ ñåìèíàðà ..................................................................................441
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ InitializeButton_ Click ..........................................443
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ AddButton_Click..................................................446
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ DisplayButton_Click .............................................449
Çàíÿòèå 3. Çàâåðøåíèå ïðèëîæåíèÿ äëÿ ñåìèíàðà....................................................453
Ñîçäàíèå ïðîöåäóð äëÿ ïðèëîæåíèÿ Seminar ......................................................453
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ RemoteButton_Click ............................................453
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ PrintButton_Click.................................................456
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ SeminarPrintDocument_PrintPage.........................457
Òåìà 11. Ìàññèâû.......................................................................461
Ñîçäàíèå ïðèëîæåíèÿ äëÿ ðàñ÷åòà ñóììû íàëîãà......................................................461
Çàíÿòèå 1. Èñïîëüçîâàíèå îäíîìåðíîãî ìàññèâà .......................................................462
Ìàññèâû..............................................................................................................462
Îäíîìåðíûå ìàññèâû .........................................................................................463
Çàïèñü äàííûõ â îäíîìåðíûé ìàññèâ ..................................................................465
Èñïîëüçîâàíèå îäíîìåðíûõ ìàññèâîâ .................................................................466
Îòîáðàæåíèå ñîäåðæèìîãî îäíîìåðíîãî ìàññèâà ...............................................466
Èñïîëüçîâàíèå èíäåêñà äëÿ äîñòóïà ê ýëåìåíòó îäíîìåðíîãî ìàññèâà................468
Ïîèñê â îäíîìåðíîì ìàññèâå ..............................................................................469
Âû÷èñëåíèå ñðåäíåãî àðèôìåòè÷åñêîãî ýëåìåíòîâ ÷èñëîâîãî ìàññèâà ...............470
Ñîäåðæàíèå 11
Ïîèñê ýëåìåíòà ñ ìàêñèìàëüíûì çíà÷åíèåì........................................................471
Èçìåíåíèå ýëåìåíòîâ îäíîìåðíîãî ìàññèâà .......................................................472
Ñîðòèðîâêà ýëåìåíòîâ îäíîìåðíîãî ìàññèâà ......................................................473
Çàíÿòèå 2. Ìàññèâû è íåîäíîðîäíûå äàííûå ............................................................477
Ïàðàëëåëüíûå îäíîìåðíûå ìàññèâû ...................................................................477
Õðàíåíèå çàïèñåé â îäíîìåðíîì ìàññèâå............................................................479
Çàíÿòèå 3. Èñïîëüçîâàíèå äâóõìåðíûõ ìàññèâîâ.......................................................482
Äâóõìåðíûå ìàññèâû ..........................................................................................482
Õðàíåíèå äàííûõ â äâóõìåðíîì ìàññèâå.............................................................484
Âû÷èñëåíèå ñóììû çíà÷åíèé, õðàíÿùèõñÿ â äâóõìåðíîì ìàññèâå .......................485
Ïðèëîæåíèå äëÿ ðàñ÷åòà ïîäîõîäíîãî íàëîãà.....................................................486
Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ CalculateButton_Click ..........................................489
Òåìà 12. Ðàáîòà ñ áàçàìè äàííûõ ............................................493
Ñîçäàíèå ïðèëîæåíèÿ äëÿ ïðîñìîòðà èíôîðìàöèè î ñîòðóäíèêàõ.............................493
Çàíÿòèå 1. Äîñòóï ê áàçå äàííûõ ñ èñïîëüçîâàíèåì Windows-ôîðìû ........................494
Ðåëÿöèîííûå áàçû äàííûõ..................................................................................494
Äîáàâëåíèå îáúåêòà OleDbDataAdapter â Windows-ôîðìó ...................................496
SQL .....................................................................................................................501
Ñîçäàíèå íàáîðà äàííûõ.....................................................................................507
Äîáàâëåíèå â ôîðìó ýëåìåíòà óïðàâëåíèÿ DataGrid ...........................................510
Íàñòðîéêà âíåøíåãî âèäà ýëåìåíòà óïðàâëåíèÿ EmployDataGrid.........................512
Çàíÿòèå 2. Äîñòóï ê áàçå äàííûõ ñ èñïîëüçîâàíèåì web-ôîðìû................................515
Ñîçäàíèå web-ïðèëîæåíèÿ..................................................................................515
Äîáàâëåíèå îáúåêòà OleDbDataAdapter â web-ôîðìó ..........................................517
Ñîçäàíèå íàáîðà äàííûõ.....................................................................................522
Äîáàâëåíèå â ôîðìó ýëåìåíòà óïðàâëåíèÿ DataGrid ...........................................524
Íàñòðîéêà âíåøíåãî âèäà ýëåìåíòà óïðàâëåíèÿ EmployDataGrid.........................526
Ïðèëîæåíèå À. Îáðàáîòêà îøèáîê è îòëàäêà........................528
Òèïû îøèáîê.......................................................................................................529
Èñêëþ÷åíèÿ è îáðàáîòêà èñêëþ÷åíèé .................................................................532
Ñîçäàíèå ñîáñòâåííûõ èñêëþ÷åíèé.....................................................................539
Îòëàäêà ..............................................................................................................540
Ïðèëîæåíèå Á. Ïàíåëü èíñòðóìåíòîâ êîíñòðóêòîðà
Windows-ôîðì................................................547
Àëôàâèòíûé óêàçàòåëü .............................................................551
12 Ñîäåðæàíèå
Ïðåäèñëîâèå
Visual Basic .NET — ýòî ÿçûê, êîòîðûé ïðåäíàçíà÷åí äëÿ ðàçðàáîòêè ïðèëîæåíèé
â ñðåäå Visual Studio .NET. Îí ïðîñò â îñâîåíèè è ïðèìåíåíèè è èñêëþ÷èòåëüíî
ýôôåêòèâåí. Ïåðâàÿ âåðñèÿ ÿçûêà ïîÿâèëàñü â ìàå 1991 ãîäà. Ýòîò ïðîäóêò çà-
ìåòíî îáëåã÷èë ïðîöåññ ñîçäàíèÿ ïîëíîôóíêöèîíàëüíûõ Windows-ïðèëîæåíèé.
Ñ òåõ ïîð ïðîøëî áîëåå äåñÿòè ëåò, â òå÷åíèå êîòîðûõ èñõîäíûé ÿçûê, èçìåíèâ-
øèé ìèð êîìïüþòåðíûõ òåõíîëîãèé, àêòèâíî ðàçâèâàëñÿ. Íà ñåãîäíÿøíèé äåíü
íà íåì íàïèñàíî áîëüøå Windows-ïðèëîæåíèé, ÷åì íà êàêîì-ëèáî äðóãîì ÿçûêå.
Íåâåðîÿòíûé óñïåõ Visual Basic îáóñëîâëåí åãî ïðîñòîòîé — ÷òîáû íà÷àòü èì
ïîëüçîâàòüñÿ, íå íóæíî äîëãî ó÷èòüñÿ. Êðîìå òîãî, âðÿä ëè íàéäåòñÿ çàäà÷à, êîòî-
ðóþ ìîæíî ðåàëèçîâàòü ñ ïîìîùüþ êàêîãî-òî ÿçûêà ïðîãðàììèðîâàíèÿ, íî íåëü-
çÿ âûïîëíèòü ñðåäñòâàìè Visual Basic. Ñëåäîâàòåëüíî, åñëè âû íà÷íåòå îñâàèâàòü
ýòîò ÿçûê ïðÿìî ñåé÷àñ, ýòî áóäåò õîðîøèì çàäåëîì íà áóäóùåå.
Ïðåäëàãàåìàÿ âàøåìó âíèìàíèþ êíèãà ïðåäñòàâëÿåò ñîáîé ïîñîáèå äëÿ ñàìî-
ñòîÿòåëüíîãî èçó÷åíèÿ îñíîâ ïðîãðàììèðîâàíèÿ íà Visual Basic .NET. Ïîäà÷à
òåîðåòè÷åñêîãî ìàòåðèàëà çäåñü òåñíî ñî÷åòàåòñÿ ñ ïðàêòè÷åñêèìè óïðàæíåíèÿ-
ìè. Äëÿ ðàáîòû ñ êíèãîé òðåáóåòñÿ ìèíèìàëüíûé íàáîð íàâûêîâ â ïðîãðàììèðî-
âàíèè. Íàëè÷èå áîëüøîãî ÷èñëà ðèñóíêîâ ïîìîæåò âàì êîíòðîëèðîâàòü ïðàâèëü-
íîñòü âûïîëíÿåìûõ äåéñòâèé.
Ñàìîó÷èòåëü ðàçáèò íà 12 òåì, êàæäàÿ èç êîòîðûõ ïðåäñòàâëåíà òðåìÿ çàíÿòèÿ-
ìè.  ðàìêàõ êàæäîé òåìû ñîçäàåòñÿ íîâîå ïðèëîæåíèå. ×òîáû èçáàâèòü ÷èòàòå-
ëÿ îò áîëüøåé ÷àñòè ðóòèííîé ðàáîòû è äàòü åìó âîçìîæíîñòü ñîñðåäîòî÷èòüñÿ
íà èçó÷åíèè êîíêðåòíîãî àñïåêòà ïðîãðàììèðîâàíèÿ, äëÿ êàæäîé òåìû íà ñåðâå-
ðå èçäàòåëüñòâà ïðåäëàãàåòñÿ íåçàâåðøåííîå ïðèëîæåíèå, êîòîðîå äîðàáàòûâàåò-
ñÿ ïî õîäó èçëîæåíèÿ åå ìàòåðèàëà.
 òåìå 1 ÷èòàòåëü îçíàêîìèòñÿ ñ èíòåðôåéñîì ñðåäû Visual Studio. NET è ñîçäàñò
ñâîå ïåðâîå ïðèëîæåíèå. Â òåìå 2 ðàññêàçûâàåòñÿ î ïðîåêòèðîâàíèè îáúåêòíî-
îðèåíòèðîâàííûõ óïðàâëÿåìûõ ñîáûòèÿìè ïðèëîæåíèé. Âû óçíàåòå, èç êàêèõ
ýòàïîâ ñîñòîèò ïðîöåññ ñîçäàíèÿ ïðèëîæåíèÿ, à òàêæå îá îñíîâíûõ ïðàâèëàõ, êî-
òîðûì íóæíî ñëåäîâàòü ïðè ðàçðàáîòêå ãðàôè÷åñêîãî èíòåðôåéñà ïîëüçîâàòåëÿ.
Îïèñàíèþ òèïîâ äàííûõ Visual Basic .NET ïîñâÿùåíà òåìà 3. Ïðîðàáîòàâ åå, âû
íàó÷èòåñü ñîçäàâàòü ïåðåìåííûå è êîíñòàíòû, íàçíà÷àòü èì èìåíà, ïðèñâàèâàòü
çíà÷åíèÿ è îïðåäåëÿòü èõ îáëàñòü âèäèìîñòè.
 òåìå 4 ðàññêàçûâàåòñÿ îá óñëîâíûõ êîíñòðóêöèÿõ, à òàêæå î ïðèîðèòåòå âûïîë-
íåíèÿ àðèôìåòè÷åñêèõ, ëîãè÷åñêèõ è óñëîâíûõ îïåðàòîðîâ. Çäåñü òàêæå ðå÷ü
èäåò î ïðèíöèïàõ ñîñòàâëåíèÿ è èñïîëüçîâàíèÿ ñòðóêòóðíîé ñõåìû àëãîðèòìà.
Âëîæåííûå óñëîâíûå îïåðàòîðû, ïðåäíàçíà÷åííûå äëÿ ôîðìèðîâàíèÿ ñëîæíûõ
óñëîâèé ïðîâåðêè, îïèñàíû â òåìå 5. Â íåé æå ðàññìîòðåíû è íàèáîëåå ðàñïðî-
ñòðàíåííûå îøèáêè, êîòîðûå ìîãóò âîçíèêíóòü ïðè èñïîëüçîâàíèè âëîæåííûõ
óñëîâíûõ îïåðàòîðîâ, à òàêæå ïðåäëîæåíû ïóòè èõ óñòðàíåíèÿ.
Òàêîìó âàæíîìó ýëåìåíòó ÿçûêà ïðîãðàììèðîâàíèÿ Visual Basic .NET, êàê öèê-
ëû, ïîñâÿùåíà òåìà 6.
 òåìå 7 ðàññêàçûâàåòñÿ î òîì, êàê â Visual Basic ðåàëèçóåòñÿ ìîäóëüíûé ïîäõîä,
êàê ñîçäàþòñÿ è èñïîëüçóþòñÿ ïîäïðîãðàììû è ôóíêöèè. Òåìà 8 ïîñâÿùåíà îá-
ðàáîòêå è àíàëèçó ñòðîêîâûõ äàííûõ — çàäà÷å, êîòîðóþ ÷àñòî ïðèõîäèòñÿ ðåøàòü
ïðîãðàììèñòàì. Ïðèëîæåíèÿ, ðàññìîòðåííûå â òåìàõ 9 è 10, ïîñâÿùåíû ðàáîòå
ñ ôàéëàìè è ðåàëèçàöèè ôóíêöèé ïå÷àòè. Íà çàíÿòèÿõ ïî ýòèì òåìàì ðå÷ü èäåò
îá îðãàíèçàöèè çàïèñè è ÷òåíèÿ èç ôàéëîâ ïîñëåäîâàòåëüíîãî è ïðîèçâîëüíîãî
äîñòóïà.
 ïðèìåðàõ òåìû 11 ïðîäåìîíñòðèðîâàíû ïðèåìû âûïîëíåíèÿ îñíîâíûõ îïåðà-
öèé ñ îäíî- è äâóõìåðíûìè ìàññèâàìè (ïîèñê ýëåìåíòîâ, èõ ñîðòèðîâêà è ò. ä.).
È, íàêîíåö, â òåìå 12 ïîêàçàíî, êàê èç ïðîãðàììû ïîëó÷èòü äîñòóï ê áàçå äàííûõ.
Ïîñêîëüêó âîïðîñû îòëàäêè, òåñòèðîâàíèÿ è îáðàáîòêè îøèáîê ìîæíî îòíåñòè
êî âñåì òåìàì, îíè ðàññìàòðèâàþòñÿ îòäåëüíî, â ïðèëîæåíèè À. Òàê ÷òî ïðè âîç-
íèêíîâåíèè ïðîáëåì îáðàùàéòåñü ê íåìó. À äëÿ òîãî ÷òîáû îáëåã÷èòü âàì ðàáîòó
ñ ïàíåëüþ èíñòðóìåíòîâ êîíñòðóêòîðà ôîðì, ìû ïðèâåëè â ïðèëîæåíèè Á îïèñà-
íèå ïðåäñòàâëåííûõ íà íåé ýëåìåíòîâ óïðàâëåíèÿ ñ óêàçàíèåì ñîîòâåòñòâóþùèõ
èì çíà÷êîâ.
Ñîãëàøåíèÿ, ïðèíÿòûå â êíèãå
Äëÿ òîãî ÷òîáû îáëåã÷èòü âîñïðèÿòèå ìàòåðèàëà, òåêñò çàíÿòèé îðãàíèçîâàí â âè-
äå íóìåðîâàííîé ïîñëåäîâàòåëüíîñòè øàãîâ. Â êíèãå ìíîãî ñïåöèàëüíûõ àáçàöåâ
«ÑÎÂÅÒ» è «ÏÐÈÌÅ×ÀÍÈÅ», íàçíà÷åíèå êîòîðûõ — ñêîíöåíòðèðîâàòü âíè-
ìàíèå ÷èòàòåëÿ íà âàæíîì âîïðîñå.
Íàçâàíèÿ ýëåìåíòîâ èíòåðôåéñà, à òàêæå èìåíà ôàéëîâ è ïàïîê âûäåëåíû ñïåöè-
àëüíûì øðèôòîì. Êëþ÷åâûå ñëîâà Visual Basic, à òàêæå íàçâàíèÿ ôóíêöèé, ïåðå-
ìåííûõ è äðóãèõ ÿçûêîâûõ êîíñòðóêöèé äàíû ìîíîøèðèííûì øðèôòîì.
Îò èçäàòåëüñòâà
Âàøè çàìå÷àíèÿ, ïðåäëîæåíèÿ, âîïðîñû îòïðàâëÿéòå ïî àäðåñó ýëåêòðîííîé ïî÷-
òû comp@piter.com (èçäàòåëüñòâî «Ïèòåð», êîìïüþòåðíàÿ ðåäàêöèÿ).
Ìû áóäåì ðàäû óçíàòü âàøå ìíåíèå!
Êîäû ïðîãðàìì è ãîòîâûå ê èñïîëüçîâàíèþ ïðèëîæåíèÿ, ñîçäàíèå êîòîðûõ îïè-
ñàíî â ýòîé êíèãå, âû ìîæåòå íàéòè ïî àäðåñó http://www.piter.com/download.
Ôàéëû ðàñïðåäåëåíû ïî ïàïêàì, íàçâàíèÿ êîòîðûõ îòâå÷àþò íîìåðàì òåì.
Èíôîðìàöèþ î êíèãàõ èçäàòåëüñòâ «Ïèòåð» è «Èçäàòåëüñêàÿ ãðóïïà BHV» âû
íàéäåòå íà web-ñàéòàõ http://www.piter.com è http://www.bhv.kiev.ua.
14 Ïðåäèñëîâèå
Ââåäåíèå
Ïðåæäå ÷åì ïðèñòóïàòü ê ðàáîòå â Visual Basic .NET, íåîáõîäèìî èçó÷èòü îñîáåí-
íîñòè Windows-ïðèëîæåíèé è îñâîèòü êëþ÷åâûå ïðèíöèïû, ëåæàøèå â îñíîâå
îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ (ÎÎÏ).
Windows — ñèñòåìà, îðèåíòèðîâàííàÿ íà èñïîëüçîâàíèå ñîáûòèé. Ýòî çíà÷èò,
÷òî êàæäîå äåéñòâèå â ñèñòåìå âûçûâàåò ñîáûòèå, êîòîðîå â âèäå ñîîáùåíèÿ ïå-
ðåäàåòñÿ â ïðèëîæåíèå. Ïðèëîæåíèå àíàëèçèðóåò åãî è, â ñâîþ î÷åðåäü, âûïîë-
íÿåò ñîîòâåòñòâóþùèå äåéñòâèÿ.
Ðàíåå ðàçðàáîòêà Windows-ïðèëîæåíèé áûëà ñîïðÿæåíà ñ îãðîìíûìè òðóäíî-
ñòÿìè, ïîñêîëüêó òðåáîâàëîñü ïèñàòü áîëüøèå îáúåìû êîäà, ñîçäàþùåãî êíîïêè,
ìåíþ, ñïèñêè, ïîëîñû ïðîêðóòêè è äðóãèå ýëåìåíòû èíòåðôåéñà. Êðîìå òîãî,
ïðîãðàììèñò äîëæåí áûë ïîëíîñòüþ, «ñ íóëÿ», ïèñàòü êîä, îáðàáàòûâàþùèé äåé-
ñòâèÿ ïîëüçîâàòåëÿ (íàæàòèå êíîïîê, âûáîð êîìàíä ìåíþ, ïåðåìåùåíèå ïî äîêó-
ìåíòó ñ ïîìîùüþ ïîëîñ ïðîêðóòêè è ò. ï.).
Ñèòóàöèÿ çíà÷èòåëüíî óëó÷øèëàñü ñ ïîÿâëåíèåì îáúåêòíî-îðèåíòèðîâàííûõ
ÿçûêîâ, îáëåã÷àþùèõ ñîçäàíèå óïðàâëÿåìûõ ñîáûòèÿìè ïðèëîæåíèé, ê ÷èñëó
êîòîðûõ îòíîñÿòñÿ è ïðèëîæåíèÿ äëÿ Windows. Ïðîãðàììèñòû ïîëó÷èëè âîç-
ìîæíîñòü ìàíèïóëèðîâàòü îáúåêòàìè ïîëüçîâàòåëüñêîãî èíòåðôåéñà (ìåíþ, êî-
ìàíäàìè, êíîïêàìè è äð.), îáðàáàòûâàòü ñîáûòèÿ, êîòîðûå â íåì ïðîèñõîäÿò
(ùåë÷êè êíîïêîé ìûøè, íàæàòèå êëàâèø è ò. ï.).  ðåçóëüòàòå äåéñòâèå, êîòîðîå
ðàíåå òðåáîâàëî ñîçäàíèÿ ïðîãðàììû èç íåñêîëüêèõ ñòðàíèö, òåïåðü ïðîãðàììè-
ðóåòñÿ íåñêîëüêèìè ñòðîêàìè êîäà.
Ãîâîðÿò, ÷òî èçó÷èòü îáúåêòíî-îðèåíòèðîâàííûé ÿçûê äîñòàòî÷íî ñëîæíî. Êî-
íå÷íî, äëÿ ñîçäàíèÿ îáúåêòíî-îðèåíòèðîâàííûõ ïðîãðàìì òðåáóþòñÿ íåêîòîðûå
ñïåöèàëüíûå íàâûêè. Îäíàêî â ñàìîé òåîðèè ÎÎÏ èìååòñÿ ðÿä êîíöåïöèé è ïî-
íÿòèé, êîòîðûå çíàêîìû íàì ïî ïîâñåäíåâíîé æèçíè.
Îáúåêò — ýòî íå÷òî òàêîå, ÷òî ìû ìîæåì óâèäåòü, ïîòðîãàòü ðóêàìè è èñïîëüçî-
âàòü.  âèäå îáúåêòîâ ìîãóò áûòü îïèñàíû ðàçëè÷íûå æèâûå è íåæèâûå ïðåäìåòû
ðåàëüíîãî ìèðà, òàêèå êàê àâòîìîáèëü, êðåäèòíàÿ êàðòî÷êà èëè, ñêàæåì, ñîòðóäíèê
ïðåäïðèÿòèÿ. Îáúåêòû, êîòîðûå ïðèìåíÿþòñÿ â îáúåêòíî-îðèåíòèðîâàííûõ ïðî-
ãðàììàõ, ìîãóò ïðåäñòàâëÿòü êíîïêè, ìåíþ è äðóãèå ýëåìåíòû èíòåðôåéñà, ôàé-
ëû, íàáîðû äàííûõ.
Ëþáîé îáúåêò îáëàäàåò ñâîéñòâàìè è, êàê ãîâîðÿò â ÎÎÏ, èìååò ìåòîäû, îïðåäå-
ëÿþùèå åãî ïîâåäåíèå. Ñâîéñòâà — ýòî õàðàêòåðèñòèêè îáúåêòà. Íàïðèìåð, åñëè
âû ãîâîðèòå, ÷òî âàì íðàâèòñÿ àâòîìîáèëü BMW 720, òî îïèñûâàåòå îáúåêò (àâ-
òîìîáèëü), óêàçûâàÿ íåêîòîðûå åãî õàðàêòåðèñòèêè, â äàííîì ñëó÷àå ìàðêó è ìî-
äåëü. Êîíå÷íî, àâòîìîáèëü èìååò ìàññó äðóãèõ õàðàêòåðèñòèê: öâåò è òèï êóçîâà,
òèï äâèãàòåëÿ è êîðîáêè ïåðåäà÷, êîëè÷åñòâî äâåðåé è ò. ä., êîòîðûå âû ìîæåòå,
â çàâèñèìîñòè îò ïîñòàâëåííîé çàäà÷è, èçìåíÿòü èëè àíàëèçèðîâàòü. Ìåòîäû
îáúåêòà — ýòî äåéñòâèÿ, êîòîðûå îí ìîæåò ïðîèçâîäèòü. Òàê, àâòîìîáèëü ìîæåò
äâèãàòüñÿ, ÷àñû — ïîêàçûâàòü âðåìÿ è äàòó.
 òåîðèè ÎÎÏ ñóùåñòâóåò òàêæå ïîíÿòèå êëàññà. Êëàññ ïðåäñòàâëÿåò ñîáîé øàá-
ëîí, ïî êîòîðîìó ñòðîèòñÿ îáúåêò. Êàæäûé îáúåêò, ïðèìåíÿåìûé â ÎÎÏ, îáðàçî-
âàí îò êàêîãî-ëèáî êëàññà. Êëàññ ñîäåðæèò, èëè, êàê ãîâîðÿò, èíêàïñóëèðóåò, âñå
ñâîéñòâà è ìåòîäû îáðàçîâàííîãî îò íåãî îáúåêòà. Íàïðèìåð, êëàññ äëÿ àâòîìî-
áèëÿ èíêàïñóëèðóåò âñå õàðàêòåðèñòèêè è ìåòîäû àâòîìîáèëåé, à êëàññ äëÿ ÷à-
ñîâ — âñå õàðàêòåðèñòèêè è ìåòîäû ÷àñîâ. Îáúåêò, îáðàçîâàííûé îò äàííîãî
êëàññà, íàçûâàþò ýêçåìïëÿðîì êëàññà. Âû äîëæíû ïîíèìàòü, ÷òî ñàì êëàññ íå ÿâ-
ëÿåòñÿ îáúåêòîì. Îáúåêòîì ÿâëÿåòñÿ ýêçåìïëÿð êëàññà.
 ëèòåðàòóðå, ïîñâÿùåííîé ÎÎÏ, ÷àñòî âñòðå÷àåòñÿ òåðìèí àáñòðàêöèÿ.  äàí-
íîì êîíòåêñòå îí îçíà÷àåò ñîêðûòèå âíóòðåííèõ îñîáåííîñòåé îáúåêòà îò ïîëüçî-
âàòåëÿ. Ýòî ïîçâîëÿåò çàùèòèòü îáúåêò îò íåæåëàòåëüíûõ èçìåíåíèé. Ïðè ýòîì
ñâîéñòâà è ìåòîäû îáúåêòà îòêðûòû äëÿ äîñòóïà. Íàïðèìåð, âû ìîæåòå çàâåñòè
àâòîìîáèëü èëè óñòàíîâèòü âðåìÿ íà ÷àñàõ. Òàêèì îáðàçîì, çàäà÷à àáñòðàêöèè —
ïðåäîñòàâèòü äîñòóï ê òåì ñâîéñòâàì è ìåòîäàì îáúåêòà, êîòîðûå íóæíû ïîëüçî-
âàòåëþ, è ñêðûòü îò íåãî äåòàëè âíóòðåííåãî óñòðîéñòâà îáúåêòà.
È åùå îá îäíîì ïîíÿòèè, ñâÿçàííîì ñ ÎÎÏ. Íàñëåäîâàíèå — ýòî âîçìîæíîñòü
ñîçäàâàòü îäèí êëàññ íà îñíîâå äðóãîãî. Íîâûé êëàññ, êîòîðûé íàçûâàþò ïîðîæ-
äåííûì, íàñëåäóåò ñâîéñòâà è ìåòîäû èñõîäíîãî êëàññà, íàçûâàåìîãî áàçîâûì.
Íàïðèìåð, åñëè ãîâîðèòü î êëàññå, îïèñûâàþùåì îïðåäåëåííóþ ìîäåëü ÷àñîâ, òî
ïîðîæäåííûé îò íåãî êëàññ ìîæåò ïðåäñòàâëÿòü ìîäåëü, îáëàäàþùóþ òàêèìè æå
õàðàêòåðèñòèêàìè, íî äîïîëíèòåëüíî ñíàáæåííóþ ìåõàíèçìîì áóäèëüíèêà. Ïîä-
äåðæêà íàñëåäîâàíèÿ èçáàâëÿåò íàñ îò íåîáõîäèìîñòè ïðè ñîçäàíèè êëàññîâ äëÿ
ïîõîæèõ îáúåêòîâ âêëþ÷àòü â êàæäûé èç íèõ âñå ñâîéñòâà è ìåòîäû, îïèñûâàþ-
ùèå îáúåêò. Ìîæíî ñîçäàòü áàçîâûé êëàññ, êîòîðûé èíêàïñóëèðóåò îáùèå äëÿ
ãðóïïû îáúåêòîâ ñâîéñòâà è ìåòîäû, à çàòåì îáðàçîâàòü îò íåãî íåîáõîäèìîå êî-
ëè÷åñòâî ïîðîæäåííûõ êëàññîâ.
Ïðè èçó÷åíèè ïðèíöèïîâ ÎÎÏ âû íàâåðíÿêà óñëûøèòå è òåðìèí ïîëèìîðôèçì.
Ðå÷ü èäåò î ñïîñîáíîñòè îäíîé è òîé æå èíñòðóêöèè âûïîëíÿòüñÿ ïî-ðàçíîìó â
çàâèñèìîñòè îò òèïà îáúåêòà. Íàïðèìåð, äåéñòâèå «îòêðûòü» ìîæåò ïðèìåíÿòüñÿ
ïî îòíîøåíèþ ê äâåðè, îêíó è ãëàçàì, à äåéñòâèå «óñòàíîâèòü» — ïî îòíîøåíèþ
êî âðåìåíè, äàòå, áóäèëüíèêó èëè, ñêàæåì, ëàìïî÷êå. Õîòÿ â êàæäîì èç ýòèõ ñëó-
÷àåâ èíñòðóêöèè, çàäàííûå ãëàãîëàìè «îòêðûòü» è «óñòàíîâèòü», îçíà÷àþò ðàç-
íûå äåéñòâèÿ, óêàçàíèå èíñòðóêöèè âìåñòå ñ íàçâàíèåì îáúåêòà ïîçâîëÿåò íàì
ïîíÿòü, î êàêîì äåéñòâèè èäåò ðå÷ü.  ÎÎÏ ïîëèìîðôèçì ðåàëèçóåòñÿ ïóòåì ïå-
ðåãðóçêè ìåòîäîâ. Äåëàåòñÿ ýòî ñëåäóþùèì îáðàçîì. Âû ñîçäàåòå íåñêîëüêî ðåà-
ëèçàöèé ìåòîäà ñ ðàçíûìè íàáîðàìè àðãóìåíòîâ. Ïðè ýòîì âñå ýòè ðåàëèçàöèè
(ïåðåãðóæåííûå ìåòîäû) èìåþò îäèíàêîâûå èìåíà. Â ïðîöåññå âûçîâà ìåòîäà
ñðåäà Visual Basic .NET ïî êîëè÷åñòâó è òèïó ïåðåäàâàåìûõ åìó àðãóìåíòîâ ñàìà
îïðåäåëÿåò, êàêîé èç ìåòîäîâ âûçâàòü.
Êàê âèäèòå, âñå äîñòàòî÷íî ïðîñòî. È ìû íå õîòèì áîëåå óòîìëÿòü âàñ òåîðèåé,
à ïðåäëàãàåì ïåðåéòè ê ïðàêòè÷åñêèì çàíÿòèÿì.
16 Ââåäåíèå
Ò Å Ì À 1
Çíàêîìñòâî
ñ Visual Basic .NET
Ñîçäàíèå çàñòàâêè Copyright
Èòàê, âû ïîñòàâèëè ïåðåä ñîáîé çàäà÷ó îñâîèòü ïðèíöèïû
ðàçðàáîòêè ïðèëîæåíèé ñ ïîìîùüþ Visual Basic .NET —
íîâåéøåé âåðñèè ÿçûêà ïðîãðàììèðîâàíèÿ Visual Basic
êîìïàíèè Microsoft. Äàâàéòå ïðåäñòàâèì, ÷òî âàñ ïðèíÿ-
ëè ïðîãðàììèñòîì-ñòàæåðîì â íåáîëüøóþ ôèðìó, ñïå-
öèàëèçèðóþùóþñÿ íà âûïóñêå è òåñòèðîâàíèè ïðîãðàì-
ìíûõ ïðîäóêòîâ. Íà÷àëüíèê ñðàçó æå äàåò âàì çàäàíèå:
ñîçäàòü çàñòàâêó Copyright äëÿ âñåõ ïðèëîæåíèé êîìïà-
íèè. Çàñòàâêà — ýòî ïåðâîå èçîáðàæåíèå, êîòîðîå ïîÿâ-
ëÿåòñÿ ïîñëå çàïóñêà ïðîãðàììû è èñïîëüçóåòñÿ ñ öåëüþ
óäåðæèâàòü âíèìàíèå ïîëüçîâàòåëÿ âî âðåìÿ çàãðóçêè
ïðèëîæåíèÿ â ïàìÿòü. Çàñòàâêà Copyright äîëæíà áûòü
ñíàáæåíà ëîãîòèïîì êîìïàíèè, îòîáðàæàòü èíôîðìà-
öèþ îá àâòîðå ïðèëîæåíèÿ è âðåìåíè ñîçäàíèÿ ïðî-
ãðàììû. Õîòÿ ýòî çàäàíèå íå î÷åíü ñëîæíîå, îíî ïîñëó-
æèò ïðåêðàñíîé ïðàêòèêîé ïðè èçó÷åíèè îñíîâ Visual
Basic .NET. Ïðè÷åì äëÿ åãî âûïîëíåíèÿ âàì íå ïîòðåáó-
þòñÿ ñïåöèàëüíûå çíàíèÿ î ïðîåêòèðîâàíèè è ïðîãðàì-
ìèðîâàíèè, íåîáõîäèìûå äëÿ ðàçðàáîòêè áîëüøèõ ïðè-
ëîæåíèé.
Çàíÿòèå 1
Ñîçäàíèå Windows-ïðèëîæåíèé
Íà ýòîì çàíÿòèè ðàññìîòðåíû ñëåäóþùèå âîïðîñû:
n çàïóñê è íàñòðîéêà èíòåãðèðîâàííîé ñðåäû ðàçðàáîòêè Visual Studio .NET;
n ñîçäàíèå ðåøåíèÿ;
n äîáàâëåíèå ê ðåøåíèþ ïðîåêòà Visual Basic .NET;
n íàñòðîéêà ñâîéñòâ îáúåêòà;
n ñîõðàíåíèå ðåøåíèÿ è âûõîä èç Visual Studio .NET.
Çàïóñê è íàñòðîéêà Visual Studio .NET
Äëÿ òîãî ÷òîáû ïðèñòóïèòü ê ðàáîòå, íåîáõîäèìî çàïóñòèòü Visual Studio .NET.
Ýòî íîâåéøàÿ èíòåãðèðîâàííàÿ ñðåäà ðàçðàáîòêè (Integrated Development Envi-
ronment, IDE), âêëþ÷àþùàÿ â ñåáÿ ÿçûêè ïðîãðàììèðîâàíèÿ Visual Basic, C++
è C#, êîòîðûå ìîæíî ïðèìåíÿòü äëÿ ñîçäàíèÿ Windows- è web-ïðèëîæåíèé.
Windows-ïðèëîæåíèÿ (ê íèì îòíîñÿòñÿ ãðàôè÷åñêèå ïðîãðàììû, ñèñòåìû ââîäà
äàííûõ, èãðû è ò. ä.) ñíàáæåíû èíòåðôåéñîì ïîëüçîâàòåëÿ, õàðàêòåðíûì äëÿ
Windows, è çàïóñêàþòñÿ ñ ðàáî÷åãî ñòîëà êîìïüþòåðà. Web-ïðèëîæåíèÿ (ê êîòî-
ðûì îòíîñÿòñÿ ïðîãðàììû, ïðåäíàçíà÷åííûå äëÿ ðàáîòû â Èíòåðíåòå è èíòðàíå-
òå) èìåþò èíòåðôåéñ, ñâîéñòâåííûé Web, çàïóñêàþòñÿ ñ ñåðâåðà, è äîñòóï ê íèì
îñóùåñòâëÿåòñÿ ïðè ïîìîùè áðàóçåðà.
Äëÿ çàïóñêà èíòåãðèðîâàííîé ñðåäû ðàçðàáîòêè Visual Studio .NET âûïîëíèòå
ñëåäóþùèå äåéñòâèÿ.
1. Îòêðîéòå ñòàðòîâîå ìåíþ Windows, ùåëêíóâ íà êíîïêå Start (Ïóñê) ïàíåëè
çàäà÷. Âûáåðèòå â íåì ñíà÷àëà ïóíêò Programs (Ïðîãðàììû), à ïîòîì — ïóíêò
Microsoft Visual Studio .NET. Â îòêðûâøåìñÿ ïîäìåíþ àêòèâèçèðóéòå îäíîèìåí-
íóþ êîìàíäó. Ïîñëå ýòîãî ïîÿâèòñÿ çàñòàâêà ñðåäû Microsoft Visual Stu-
dio .NET, à çàòåì îòêðîåòñÿ îêíî Microsoft Development Environment. Ïðè íåîáõî-
äèìîñòè ðàçâåðíèòå ýòî îêíî âî âåñü ýêðàí.
2. Ïîñëå çàïóñêà ïðîãðàììû íà ýêðàíå ïîÿâèòñÿ îêíî Start Page (Íà÷àëüíàÿ ñòðà-
íèöà), â ëåâîé ÷àñòè êîòîðîãî áóäóò ðàñïîëîæåíû ÿðëûêè äëÿ îòêðûòèÿ ïà-
íåëåé. Ùåëêíèòå íà ÿðëûêå My Profile (Ìîé ïðîôèëü), è â îêíå îòîáðàçèòñÿ
îäíîèìåííàÿ ïàíåëü (ðèñ. 1.1).
ÑÎÂÅÒ
Åñëè ïîñëå çàïóñêà ïðîãðàììû ñòàðòîâîå îêíî íå îòîáðàæàåòñÿ, àêòèâèçèðóéòå êîìàíäó
Help4Show Start Page.
Èñïîëüçóÿ ïàíåëü My Profile, â èíòåãðèðîâàííîé ñðåäå ðàçðàáîòêè ìîæíî íàñòðàè-
âàòü ðàçëè÷íûå ïàðàìåòðû ïðîãðàìì, òàêèå êàê Keyboard Sheme (Ñõåìà êëàâèàòó-
ðû), Windows Layout (Ðàçìåòêà îêíà) è Help Filter (Ôèëüòð ñïðàâêè). Íàáîð ïðè-
îðèòåòíûõ óñòàíîâîê íàçûâàåòñÿ ïðîôèëåì. Ñðåäà Visual Studio .NET ïðåäîñòàâ-
ëÿåò ìíîæåñòâî çàðàíåå îïðåäåëåííûõ ïðîôèëåé, îñíîâíûì èç êîòîðûõ ÿâëÿåòñÿ
Visual Studio Developer. Ïðè ïîäãîòîâêå ìàòåðèàëîâ è ðèñóíêîâ äàííîé êíèãè èñ-
ïîëüçîâàëàñü èìåííî ýòà êîíôèãóðàöèÿ IDE.
Ðèñ. 1.1. Îêíî Microsoft Development Environment
3. Åñëè ïî óìîë÷àíèþ óñòàíîâëåí èíîé ïðîôèëü, ùåëêíèòå íà ðàñêðûâàþùåì-
ñÿ ñïèñêå Profile (Ïðîôèëü) è âûáåðèòå â íåì ýëåìåíò Visual Studio Developer.
4. Àêòèâèçèðóéòå êîìàíäó Tools4Options (Ñåðâèñ4Ïàðàìåòðû), ïîñëå ÷åãî íà
ýêðàíå îòîáðàçèòñÿ äèàëîãîâîå îêíî Options (Ïàðàìåòðû) (ðèñ. 1.2), â êîòîðîì
ìîæíî íàñòðîèòü ïðàêòè÷åñêè âñå ïàðàìåòðû ñðåäû ðàçðàáîòêè.  ïðàâîé
÷àñòè îêíà ùåëêíèòå íà ïàïêå Environment (Êîíôèãóðàöèÿ) è, ïîñëå òîãî êàê
îíà îòêðîåòñÿ, íàæìèòå êíîïêó General (Îáùèå).
5. Åñëè íåîáõîäèìî, óñòàíîâèòå â îêíå Options ôëàæêè Close button affects active
tab only (Êíîïêà çàêðûòèÿ îêíà äåéñòâóåò òîëüêî íà àêòèâíóþ âêëàäêó) è Auto
Hide button affects active tab only (Êíîïêà àâòîìàòè÷åñêîãî ñâîðà÷èâàíèÿ äåéñò-
âóåò òîëüêî íà àêòèâíóþ âêëàäêó).
6. Ùåëêíèòå íà êíîïêå ÎÊ, ïîñëå ÷åãî äèàëîãîâîå îêíî Options çàêðîåòñÿ.
ÏÐÈÌÅ×ÀÍÈÅ
Äëÿ òîãî ÷òîáû âåðíóòüñÿ ê ðàçìåòêå îêíà, êîòîðàÿ áûëà ïðåäëîæåíà âî âðåìÿ ïåðâîãî çà-
ïóñêà èíòåãðèðîâàííîé ñðåäû ðàçðàáîòêè Visual Studio .NET, ìîæíî âîñïîëüçîâàòüñÿ êíîï-
êîé Reset Window Layout, íàõîäÿùåéñÿ â îêíå Options.
Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 19
Ðèñ. 1.2. Äèàëîãîâîå îêíî Options
Îêíî Start Page, êðîìå ïàíåëè My Profile, ñîäåðæèò åùå âîñåìü ïàíåëåé, àêòèâèçà-
öèÿ ëþáîé èç êîòîðûõ ïðèâîäèò ê îòîáðàæåíèþ â ñòàðòîâîì îêíå ñîîòâåòñòâóþ-
ùåé åé èíôîðìàöèè. Íàçíà÷åíèå âñåõ ïàíåëåé îïèñàíî â òàáë. 1.1.
Òàáëèöà 1.1. Ïàíåëè îêíà Start Page
Ïàíåëü Íàçíà÷åíèå
Get Started Ñîçäàíèå íîâûõ è îòêðûòèå ñóùåñòâóþùèõ ïðîåêòîâ
What`s New Ïðåäîñòàâëåíèå äîñòóïà ê èíôîðìàöèè íà web-óçëå êîìïàíèè Microsoft
î íîâûõ ñðåäñòâàõ ñðåäû Visual Studio .NET è çàãðóçêà îáíîâëåííûõ âåðñèé
ïðîãðàìì IDE Visual Studio
Online Community Ñâÿçü ñ ðàçðàáîò÷èêàìè â èíòåðàêòèâíîì ðåæèìå
Headlines Ïðîñìîòð ññûëîê â ïîèñêàõ ïîñëåäíèõ íîâîñòåé èç áèáëèîòåêè MSDN
Online Library íà web-óçëå www.msdn.microsoft.com. Ýòî ôàêòè÷åñêè
íàèáîëüøèé èíôîðìàöèîííûé óçåë â íàçâàííîé îáëàñòè, ãäå ðàçìåùåíû
îôèöèàëüíàÿ äîêóìåíòàöèÿ, ó÷åáíûå ïîñîáèÿ è web-ñåìèíàðû
Search Online Ïîèñê â áèáëèîòåêå MSDN Online Library
Downloads Ïðåäîñòàâëåíèå äîñòóïà ê ïîñëåäíèì îáíîâëåíèÿì ïðîäóêòà è îáðàçöàì
ïðîãðàìì
XML Web Services Ïîèñê ãîòîâûõ web-ñëóæá äëÿ âêëþ÷åíèÿ â ïðèëîæåíèå
è ïðåäîñòàâëåíèå âîçìîæíîñòè ïóáëèêîâàòü ñâîè
Web Hosting Ïëàòíîå ðàçìåùåíèå web-ïðèëîæåíèé íà ñåðâåðàõ, ïðåäîñòàâëÿåìûõ
èíòåðíåò-ïðîâàéäåðàìè
My Profile Íàñòðîéêà ïàðàìåòðîâ ñðåäû IDE
Ïðåæäå ÷åì ïðèñòóïèòü ê ñîçäàíèþ ïðèëîæåíèÿ, ìû ðàññìîòðèì âîçìîæíîñòè,
êîòîðûå ïðåäîñòàâëÿåò â íàøå ðàñïîðÿæåíèå ïàíåëü Get Started.
20 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
1. Ùåëêíèòå íà ÿðëûêå Get Started â îêíå Start Page, ñ òåì ÷òîáû îòêðûòü îäíî-
èìåííóþ ïàíåëü (ðèñ. 1.3). Åñëè â ñðåäå Visual Studio .NET óæå ðàáîòàëè, ïà-
íåëü áóäåò ñîäåðæàòü ñïèñîê âûçâàííûõ ðàíåå ðåøåíèé.
Ðèñ. 1.3. Ïàíåëü Get Started â îêíå Start Page
Êðîìå ñòàðòîâîãî îêíà èíòåãðèðîâàííàÿ ñðåäà ðàçðàáîòêè Visual Studio .NET ñî-
äåðæèò åùå ïÿòü îêîí (íà ðèñ. 1.3 íåêîòîðûå èç íèõ ïðåäñòàâëåíû ÿðëûêàìè).
Íàçíà÷åíèå êàæäîãî îêíà êðàòêî îïèñàíî â òàáë. 1.2.
Òàáëèöà 1.2. Îïèñàíèå îêîí, âêëþ÷åííûõ â IDE
Îêíî Îïèñàíèå
Class View Îòîáðàæàåò êëàññû, ìåòîäû è ñâîéñòâà, âêëþ÷åííûå â òåêóùåå ðåøåíèå
Dynamic Help Ñîäåðæèò ññûëêè íà êîíòåêñòíî-çàâèñèìóþ ñïðàâêó
Server Explorer Äåìîíñòðèðóåò ðåñóðñû ñåðâåðîâ, ê êîòîðûì âîçìîæåí äîñòóï ïî ñåòè
ñ äàííîãî êîìïüþòåðà
Solution Explorer Îòîáðàæàåò èìåíà ïðîåêòîâ è ôàéëîâ, âêëþ÷åííûõ â òåêóùåå ðåøåíèå
Start Page Ïðåäñòàâëÿåò ñîáîé ñòàðòîâóþ ñòðàíèöó
Toolbox Îáåñïå÷èâàåò äîñòóï ê ýëåìåíòàì óïðàâëåíèÿ, êîòîðûå ìîæíî
èñïîëüçîâàòü ïðè ñîçäàíèè ïðîåêòà
Äàëåå íà ýòîì çàíÿòèè âû íàó÷èòåñü ðàáîòàòü ñ îêíàìè Solution Explorer è Dynamic
Help, îá îêíå Toolbox ðå÷ü ïîéäåò íà ñëåäóþùåì çàíÿòèè. À âîçìîæíîñòè, ïðåäîñ-
òàâëÿåìûå îêíàìè Server Explorer è Class View, â ýòîé êíèãå íå ðàññìàòðèâàþòñÿ.
Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 21
Íàïîìíèì, ÷òî ñåé÷àñ íàøà çàäà÷à çàêëþ÷àåòñÿ â ðàçðàáîòêå ïðîñòîãî ïðèëîæå-
íèÿ — çàñòàâêè Copyright.
Ñîçäàíèå ðåøåíèÿ äëÿ çàñòàâêè Copyright
Ïðèñòóïàÿ ê ðàçðàáîòêå ïðèëîæåíèÿ, íåîáõîäèìî ñíà÷àëà ñîçäàòü ïóñòîå ðåøå-
íèå Visual Studio .NET, à çàòåì äîáàâèòü â íåãî îäèí èëè íåñêîëüêî ïðîåêòîâ. Ðå-
øåíèå — ýòî êîíòåéíåð, â êîòîðîì õðàíÿòñÿ ïðîåêòû è ôàéëû âñåãî ïðèëîæåíèÿ.
Ïðîåêò — ýòî òàêæå êîíòåéíåð, íî â íåì ðàçìåùàþòñÿ ôàéëû, îòíîñÿùèåñÿ ê îï-
ðåäåëåííîé ÷àñòè ïðèëîæåíèÿ.
×òîáû âàì áûëî ïîíÿòíî, ïðîâåäåì ñëåäóþùóþ àíàëîãèþ. Äîïóñòèì, ÷òî ðåøå-
íèå — ýòî ñåêöèÿ â áëîêå êàðòîòåêè. Òîãäà ïðîåêò ïðåäñòàâëÿåò ñîáîé ïàïêó, êî-
òîðàÿ ïîìåùåíà â òàêóþ ñåêöèþ, à ôàéë, â ñâîþ î÷åðåäü, ñîîòâåòñòâóåò äîêóìåí-
òó, ëåæàùåìó â ïàïêå.  ñåêöèè ìîæåò áûòü ðàñïîëîæåíî íåñêîëüêî ïàïîê, òî÷íî
òàê æå ðåøåíèå ìîæåò ñîäåðæàòü íåñêîëüêî ïðîåêòîâ. Êðîìå òîãî, äîïóñòèìî,
÷òîáû â ïàïêå íàõîäèëîñü áîëüøîå êîëè÷åñòâî äîêóìåíòîâ; àíàëîãè÷íûì îáðà-
çîì, â ïðîåêòå ìîæåò õðàíèòüñÿ ìíîæåñòâî ôàéëîâ.
Ñîçäàòü ïóñòîå ðåøåíèå Visual Studio .NET ìîæíî ïóòåì àêòèâèçàöèè êîìàíäû
File4New4Blank Solution (Ôàéë4Íîâûé4Ïóñòîå ðåøåíèå) èëè âûáîðà íà ñòàí-
äàðòíîé ïàíåëè èíñòðóìåíòîâ êíîïêè New Blank Solution (Íîâîå ïóñòîå ðåøåíèå).
Åñëè ýòà êíîïêà íå îòîáðàæàåòñÿ, îòêðîéòå ñïèñîê New Project (Ñîçäàòü ïðîåêò),
ðàñïîëîæåííûé íà ñòàíäàðòíîé ïàíåëè èíñòðóìåíòîâ ñëåâà, è âûáåðèòå â íåì
ýëåìåíò New Blank Solution. Ëþáîå èõ ýòèõ äåéñòâèé ïðèâåäåò ê ïîÿâëåíèþ íà ýê-
ðàíå äèàëîãîâîãî îêíà New Project (Íîâûé ïðîåêò), êîòîðûå âû âèäèòå íà ðèñ. 1.4.
Ïåðåéäåì ê ïðàêòè÷åñêîé ðåàëèçàöèè çàäà÷è. Äëÿ ýòîãî âû äîëæíû âûïîëíèòü
ñëåäóþùèå äåéñòâèÿ.
1. Ëþáûì èç ïåðå÷èñëåííûõ âûøå ñïîñîáîâ âûçîâèòå äèàëîãîâîå îêíî New
Project. Ïîñëå òîãî êàê îíî îòîáðàçèòñÿ íà ýêðàíå, â ñïèñêå Project Types (Òèï
ïðîåêòà) ýòîãî îêíà áóäåò âûäåëåí ýëåìåíò Visual Studio Solutions, à â ñïèñêå
Templates (Øàáëîíû) — øàáëîí Blank Solution. Ñîîáùåíèå, íàõîäÿùååñÿ ïîä
ñïèñêîì Project Types, óêàçûâàåò, ÷òî äàííûé øàáëîí ñîçäàåò ïóñòîå ðåøåíèå,
íå ñîäåðæàùåå ïðîåêòîâ.
Øàáëîíîì íàçûâàþò îáðàçåö, êîòîðûé èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ðåøåíèé
è ïðîåêòîâ â ñðåäå Visual Studio .NET. Êàæäûé øàáëîí, âêëþ÷åííûé â ñïèñîê
Templates, ñîäåðæèò íàáîð ñòàíäàðòíûõ ïàïîê è ôàéëîâ, ñîîòâåòñòâóþùèõ ðå-
øåíèþ èëè ïðîåêòó. Íàïðèìåð, â øàáëîí Blank Solution âõîäÿò îäíà ïàïêà
è äâà ôàéëà.
2. Çàìåíèòå èìÿ â ïîëå Name èìåíåì Copyright Solution. Ïðè íåîáõîäèìîñòè âîñ-
ïîëüçóéòåñü êíîïêîé Browse, êîòîðàÿ ðàñïîëàãàåòñÿ ñïðàâà îò òåêñòîâîãî ïî-
ëÿ Location, è âûáåðèòå ïàïêó VBNETTut01 (ðèñ. 1.4).
Îáðàòèòå âíèìàíèå íà òî, ÷òî íàä êíîïêîé Less â äèàëîãîâîì îêíå ïîÿâèòñÿ ñîîá-
ùåíèå, óêàçûâàþùåå, ÷òî ðåøåíèå áóäåò ñîçäàíî â ïàïêå C:VBNETTut01Copyright
Solution. Åñëè êíîïêà Less íå îòîáðàæàåòñÿ, ùåëêíèòå íà êíîïêå More.
22 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
Ðèñ. 1.4. Äèàëîãîâîå îêíî New Project èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ïóñòîãî ðåøåíèÿ
3. Çàêðîéòå äèàëîãîâîå îêíî New Project ùåë÷êîì íà êíîïêå ÎÊ. Ïîñëå ýòîãî íà
æåñòêîì äèñêå êîìïüþòåðà áóäåò ñîçäàíî ïóñòîå ðåøåíèå, à â îêíå Solution
Explorer (Ïðîâîäíèê ðåøåíèé), ïîêàçàííîì íà ðèñ. 1.5, ïîÿâÿòñÿ çàäàííîå èìÿ
ðåøåíèÿ, Copyright Solution, è ñâåäåíèÿ î êîëè÷åñòâå ñîäåðæàùèõñÿ â íåì ïðî-
åêòîâ — 0.
Ðèñ. 1.5. Â îêíå Solution Explorer îòîáðàæàåòñÿ
èìÿ ïóñòîãî ðåøåíèÿ
Ïîÿâëåíèå èìåíè ðåøåíèÿ â îêíå Solution Explorer îçíà÷àåò, ÷òî ðåøåíèå îòêðûòî
è â íåãî ìîæíî âíîñèòü èíôîðìàöèþ.
Ïîñëå òîãî êàê ìû ïðèìåíèëè øàáëîí Blank Solution, ñðåäà Visual Studio .NET àâ-
òîìàòè÷åñêè ñîçäàëà íà æåñòêîì äèñêå êîìïüþòåðà îäíó ïàïêó è äâà ôàéëà. Ýòîé
ïàïêå ïî óìîë÷àíèþ ïðèñâàèâàåòñÿ òî æå èìÿ, ÷òî è ðåøåíèþ (â íàøåì ñëó÷àå —
Copyright Solution). Äâà ôàéëà, õðàíÿùèåñÿ â äàííîé ïàïêå, èìåþò òàêèå æå èìåíà,
Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 23
íî ðàçíûå ðàñøèðåíèÿ: .sln (solution — ðåøåíèå) è .suo (solution user options — ïà-
ðàìåòðû ïîëüçîâàòåëÿ ðåøåíèÿ). Â ïåðâîì õðàíÿòñÿ ññûëêè íà ïðîåêòû è ôàéëû,
âêëþ÷åííûå â ðåøåíèå, à âî âòîðîé (ñêðûòûé) çàïèñûâàþòñÿ ïàðàìåòðû, óñòà-
íîâëåííûå äëÿ ðåøåíèÿ.
ÏÐÈÌÅ×ÀÍÈÅ
×òîáû ïðîñìîòðåòü èìåíà ñêðûòûõ ôàéëîâ, çàïóñòèòå Windows Explorer (Ïðîâîäíèê), ùåëê-
íèòå íà ìåíþ Tools (Ñåðâèñ) â ñòðîêå ìåíþ, à çàòåì çàäàéòå êîìàíäó Folder Options (Ñâîéñòâà
ïàïêè). Êîãäà íà ýêðàíå ïîÿâèòñÿ îäíîèìåííîå îêíî, îòêðîéòå âêëàäêó View (Âèä), â ñïèñêå
äîïîëíèòåëüíûõ ïàðàìåòðîâ äëÿ ýëåìåíòà Hidden files and folders (Ñêðûòûå ôàéëû è ïàïêè)
âûáåðèòå ïîëîæåíèå ïåðåêëþ÷àòåëÿ Show hidden files and folders (Ïîêàçûâàòü ñêðûòûå ôàé-
ëû è ïàïêè) è ùåëêíèòå íà êíîïêå ÎÊ.
Èòàê, ïóñòîå ðåøåíèå ñîçäàíî, è òåïåðü ê íåìó ìîæíî äîáàâëÿòü ïðîåêòû. Èõ êî-
ëè÷åñòâî çàâèñèò îò ñëîæíîñòè ðàçðàáàòûâàåìîãî ïðèëîæåíèÿ — ïðîñòûì ïðè-
ëîæåíèÿì òðåáóåòñÿ îäèí ïðîåêò, à ñëîæíûå îáû÷íî âêëþ÷àþò íåñêîëüêî ïðîåê-
òîâ. Ïîñêîëüêó íàøà çàñòàâêà Copyright îòíîñèòñÿ ê ïðîñòûì ïðèëîæåíèÿì,
ïîòðåáóåòñÿ îäèí ïðîåêò, êîòîðûé áóäåò ñîçäàí ñ ïîìîùüþ Visual Basic .NET.
Íîâûé ïðîåêò äîáàâëÿåòñÿ ê òåêóùåìó ðåøåíèþ ïîñðåäñòâîì êîìàíäû File4Add
Project4New Project (Ôàéë4Äîáàâèòü ïðîåêò4Íîâûé ïðîåêò). Íî ìîæíî èñïîëü-
çîâàòü è äðóãèå ñïîñîáû, íàïðèìåð ùåëêíóòü ïðàâîé êíîïêîé ìûøè íà èìåíè ðå-
øåíèÿ â îêíå Solution Explorer èëè îòêðûòü êîíòåêñòíîå ìåíþ è âûçâàòü â íåì êî-
ìàíäó Add4New Project; ìîæíî òàêæå ïðîèçâåñòè ùåë÷îê íà êíîïêå New Project
ïàíåëè Get Started â ñòàðòîâîì îêíå ëèáî íà îäíîèìåííîé êíîïêå ñòàíäàðòíîé ïà-
íåëè èíñòðóìåíòîâ.
Äîáàâüòå íîâûé ïðîåêò Visual Basic .NET ê òåêóùåìó ðåøåíèþ. Äåëàåòñÿ ýòî ñëå-
äóþùèì îáðàçîì.
1. Ùåëêíèòå ïðàâîé êíîïêîé ìûøè íà ñòðîêå Solution 'Copyright Solution' (0 pro-
jects) â îêíå Solution Explorer. Âûáåðèòå â ïîÿâèâøåìñÿ êîíòåêñòíîì ìåíþ êî-
ìàíäó Add4New Project, è íà ýêðàíå îòîáðàçèòñÿ îêíî Add New Project.
2.  ñïèñêå Project Types ïåðå÷èñëåíû ðàçëè÷íûå òèïû ïðîåêòîâ, êîòîðûå ìîæíî
äîáàâëÿòü ê ðåøåíèþ. Âûáåðèòå â ýòîì ñïèñêå ýëåìåíò Visual Basic Projects, åñ-
ëè îí íå âûäåëåí.
3. Ñïèñîê Templates ñîäåðæèò ïåðå÷åíü øàáëîíîâ ïðîåêòîâ, äîñòóïíûõ â Visual
Basic .NET. Âûáåðèòå â ñïèñêå ýëåìåíò Windows Application. Ýòîò øàáëîí ïîä-
õîäèò äëÿ ðåøåíèÿ íàøåé çàäà÷è, ïîñêîëüêó ïðèëîæåíèå ýêðàíà Copyright
äîëæíî áûòü ñíàáæåíî Windows-èíòåðôåéñîì ïîëüçîâàòåëÿ.
4. Â ïîëå Name óêàæèòå èìÿ Copyright Project.
5. Óáåäèòåñü, ÷òî â òåêñòîâîì ïîëå Location óêàçàí ïóòü ê ïàïêå Copyright Solution.
Ïîñëå âûïîëíåíèÿ âñåõ îïèñàííûõ äåéñòâèé äèàëîãîâîå îêíî Add New Project
äîëæíî âûãëÿäåòü òàê, êàê ïîêàçàíî íà ðèñ. 1.6. Îáðàòèòå âíèìàíèå: ïîä ïî-
ëåì Location â îêíå íàõîäèòñÿ ñîîáùåíèå, óêàçûâàþùåå, ÷òî ïðîåêò áóäåò ñîç-
äàí â ïàïêå C:VBNETTut01Copyright SolutionCopyright Project.
Êàê âû óæå çíàåòå, øàáëîí ñîäåðæèò íàáîð ñòàíäàðòíûõ ïàïîê è ôàéëîâ. Ïî-
ñëå ùåë÷êà íà êíîïêå ÎÊ â îêíå Add New Project ïàïêè è ôàéëû, âêëþ÷åííûå
â øàáëîí Windows Application, áóäóò àâòîìàòè÷åñêè ñîçäàíû íà æåñòêîì äèñêå
êîìïüþòåðà.
24 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
Ðèñ. 1.6. Äèàëîãîâîå îêíî Add New Project
6. Çàêðîéòå îêíî Add New Project, ùåëêíóâ íà êíîïêå ÎÊ. Òåïåðü íîâûé ïðîåêò
Visual Basic .NET Windows Application áóäåò äîáàâëåí ê òåêóùåìó ðåøåíèþ.
Êðîìå òîãî, â îêíå Solution Explorer îòîáðàçèòñÿ èìÿ ïðîåêòà — Copyright Project,
à òàêæå äðóãàÿ îòíîñÿùàÿñÿ ê íåìó èíôîðìàöèÿ (ðèñ. 1.7).
Ðèñ. 1.7. Íîâûé ïðîåêò Visual Basic .NET äîáàâëåí ê ðåøåíèþ
Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 25
Êàê âèäèòå, êðîìå øåñòè îêîí, î êîòîðûõ ìû óæå ãîâîðèëè, â ñðåäå ðàçðàáîòêè
îòîáðàçèëèñü äâà íîâûõ — Designer è Properties. Êîíå÷íî, ñ òàêèì êîëè÷åñòâîì îò-
êðûòûõ îêîí ðàçîáðàòüñÿ íåïðîñòî, îñîáåííî åñëè âû íîâè÷îê. Ðàáîòàòü ñ IDE
áóäåò ïðîùå, åñëè âû çàêðîåòå èëè ñâåðíåòå îêíà, êîòîðûå â äàííûé ìîìåíò íå
èñïîëüçóåòå. Â ñëåäóþùåì ðàçäåëå ìû ðàññêàæåì, êàê óïðàâëÿòü îêíàìè â èíòåã-
ðèðîâàííîé ñðåäå ðàçðàáîòêè.
Óïðàâëåíèå îêíàìè â èíòåãðèðîâàííîé ñðåäå ðàçðàáîòêè
Ñàìûé ïðîñòîé ñïîñîá çàêðûòü îòêðûòîå îêíî â IDE — ùåëêíóòü íà êíîïêå Close
â ñòðîêå çàãîëîâêà îêíà. Íî ýòî ìîæíî ñäåëàòü è äðóãèìè ñïîñîáàìè: ïðîèçâåñòè
ùåë÷îê ïðàâîé êíîïêîé ìûøè íà ñòðîêå çàãîëîâêà îêíà, à çàòåì âûáðàòü â êîí-
òåêñòíîì ìåíþ êîìàíäó Hide (Ñêðûòü) ëèáî âûçâàòü èç ãëàâíîãî ìåíþ êîìàíäó
Window4Hide (Îêíî4Ñêðûòü).
Îòêðûòü îêíà òîæå íå ñîñòàâëÿåò òðóäà — â áîëüøèíñòâå ñëó÷àåâ ñîîòâåòñòâóþ-
ùèå êîìàíäû ìîæíî íàéòè â ìåíþ View (Âèä). Òàê, îêíî Toolbox (Ïàíåëü èíñòðó-
ìåíòîâ) âûçûâàåòñÿ êîìàíäîé View4Toolbox. Îäíàêî ó÷òèòå, ÷òî êîìàíäû, óïðàâ-
ëÿþùèå îòêðûòèåì îêîí Start Page è Dynamic Help, ðàñïîëîæåíû â ìåíþ Help, à íå
â ìåíþ View.
Äëÿ ñîêðûòèÿ îêîí òàêæå ñóùåñòâóåò íåñêîëüêî âîçìîæíîñòåé: ïîñðåäñòâîì ðàñ-
ïîëîæåííîé â ñòðîêå ìåíþ îêíà êíîïêè Auto Hide (Àâòîìàòè÷åñêè ñêðûâàòü),
ùåë÷êîì ïðàâîé êíîïêè ìûøè íà çàãîëîâêå îêíà ñ ïîñëåäóþùèì âûáîðîì êî-
ìàíäû Auto Hide â êîíòåêñòíîì ìåíþ ëèáî ñ ïîìîùüþ êîìàíäû Window4Auto Hide.
Åñëè ïîñëå ýòîãî âû ïåðåìåñòèòå óêàçàòåëü ìûøè çà ïðåäåëû îêíà, îíî áóäåò
ïðåäñòàâëåíî â âèäå ÿðëûêà, ðàñïîëîæåííîãî ó ëåâîãî èëè ïðàâîãî êðàÿ îêíà
IDE. Ïðè ýòîì êíîïêà, íàõîäÿùàÿñÿ â ñòðîêå çàãîëîâêà îêíà, áóäåò çàìåíåíà äðó-
ãîé êíîïêîé, ñâèäåòåëüñòâóþùåé î òîì, ÷òî îêíî ñâåðíóòî. Äëÿ âðåìåííîãî îòî-
áðàæåíèÿ ñâåðíóòîãî îêíà íóæíî ïîìåñòèòü óêàçàòåëü ìûøè íà ÿðëûê. Åñëè æå
òðåáóåòñÿ, ÷òîáû îêíî îòîáðàæàëîñü ïîñòîÿííî, ñëåäóåò ùåëêíóòü íà êíîïêå
â ñòðîêå åãî çàãîëîâêà. ßðëûêè ñâåðíóòûõ îêîí Server Explorer è Toolbox ïðåäñòàâ-
ëåíû íà ðèñ. 1.7.
Äî íà÷àëà âûïîëíåíèÿ ñëåäóþùèõ çàäàíèé âàì ñëåäóåò çàêðûòü îêíà Server Exp-
lorer, Start Page, Class View è Dynamic Help, ïîñêîëüêó äëÿ ñîçäàíèÿ ýêðàíà Copyright
îíè íå ïîíàäîáÿòñÿ. Êðîìå òîãî, âû äîëæíû íàó÷èòüñÿ ñêðûâàòü è îòîáðàæàòü
îêíî Solution Explorer.
1. Ïîìåñòèòå óêàçàòåëü ìûøè íà ÿðëûê Server Explorer, êîòîðûé îáû÷íî ðàñïîëà-
ãàåòñÿ ó ëåâîé ãðàíèöû îêíà IDE. Êîãäà îäíîèìåííîå îêíî îòîáðàçèòñÿ íà ýê-
ðàíå (ïðåæäå ÷åì îíî òàì ïîÿâèòñÿ, ìîæåò ïðîéòè íåñêîëüêî ñåêóíä), ùåëê-
íèòå íà êíîïêå Close â ñòðîêå åãî çàãîëîâêà.
2. Ùåëêíèòå íà ÿðëûêå Start Page, ÷òîáû àêòèâèçèðîâàòü îäíîèìåííîå îêíî,
à çàòåì — íà êíîïêå Close â ñòðîêå çàãîëîâêà ýòîãî îêíà.
3. Ïîâòîðèòå äåéñòâèÿ, óêàçàííûå â ïóíêòå 2, ÷òîáû çàêðûòü îêíî Class View.
Òåïåðü çàêðîåì îêíî Dynamic Help, â êîòîðîì îòîáðàæàþòñÿ ññûëêè íà êîíòåêñò-
íî-çàâèñèìóþ ñïðàâêó è ïîäñêàçêè, êàñàþùèåñÿ òåêóùèõ îïåðàöèé. Êîãäà ýòî
îêíî îòêðûòî, âû èìååòå âîçìîæíîñòü óäîáíîãî äîñòóïà ê ñïðàâî÷íîé ñèñòåìå
26 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
â IDE. Îäíàêî íåîáõîäèìî ó÷èòûâàòü, ÷òî äëÿ ïîñòîÿííîãî îáíîâëåíèÿ äàííîãî
îêíà òðåáóþòñÿ äîïîëíèòåëüíûå ðåñóðñû, à ýòî ìîæåò ñêàçàòüñÿ íà ïðîèçâîäè-
òåëüíîñòè âàøåãî êîìïüþòåðà.
4. Ùåëêíèòå íà ÿðëûêå Dynamic Help, ÷òîáû àêòèâèçèðîâàòü îäíîèìåííîå îêíî,
à ïîòîì — íà êíîïêå Close â ñòðîêå åãî çàãîëîâêà.
5. Ïðîèçâåäèòå ùåë÷îê íà êíîïêå Auto Hide â ñòðîêå çàãîëîâêà îêíà Solution Explo-
rer, à çàòåì ïåðåìåñòèòå óêàçàòåëü ìûøè çà ïðåäåëû îêíà. Â ðåçóëüòàòå ýòîãî
îêíî áóäåò ìèíèìèçèðîâàíî è ïðèìåò âèä ÿðëûêà, ðàñïîëîæåííîãî íà ïðà-
âîì êðàþ îêíà IDE.
ÑÎÂÅÒ
Åñëè ïîñëå òîãî êàê âû óáåðåòå óêàçàòåëü ìûøè çà ïðåäåëû îêíà Solution Explorer, îíî îñòà-
íåòñÿ íà ýêðàíå, ïîâòîðèòå ùåë÷îê íà ñòðîêå åãî çàãîëîâêà.
Òåïåðü âðåìåííî îòîáðàçèì îêíî Solution Explorer.
6. Ïîìåñòèòå óêàçàòåëü ìûøè íà ÿðëûê Solution Explorer, è îäíîèìåííîå îêíî
ïîÿâèòñÿ íà ýêðàíå.
7. Ïåðåìåñòèòå óêàçàòåëü ìûøè çà ïðåäåëû äàííîãî îêíà. Îêíî Solution Explorer
ìèíèìèçèðóåòñÿ è âíîâü áóäåò ïðåäñòàâëåíî íà ýêðàíå òîëüêî ÿðëûêîì.
×òîáû îêíî Solution Explorer ïîñòîÿííî îòîáðàæàëîñü íà ýêðàíå, îòêëþ÷èì äëÿ
íåãî ñðåäñòâî Auto Hide.
8. Ïîìåñòèòå óêàçàòåëü ìûøè íà ÿðëûê Solution Explorer. Êîãäà îòîáðàçèòñÿ îä-
íîèìåííîå îêíî, ùåëêíèòå íà êíîïêå Auto Hide, íàõîäÿùåéñÿ â ñòðîêå çàãî-
ëîâêà, â ðåçóëüòàòå ÷åãî âíåøíèé âèä êíîïêè èçìåíèòñÿ.
9. Ïåðåìåñòèòå óêàçàòåëü ìûøè çà ïðåäåëû îêíà Solution Explorer. Îêíî âñå ðàâíî
áóäåò îòîáðàæàòüñÿ íà ýêðàíå.
Îáðàòèòå âíèìàíèå, ÷òî â äàííûé ìîìåíò íà ýêðàíå îòêðûòû íå âîñåìü, à òîëüêî
÷åòûðå îêíà.  ñëåäóþùèõ ðàçäåëàõ ìû ïîäðîáíî ðàññìîòðèì îêíà Windows Form
Designer, Solution Explorer è Properties.
Îêíà Windows Form Designer è Solution Explorer
Îêíî Windows Form Designer, ïîêàçàííîå íà ðèñ. 1.8, ïðåäîñòàâëÿåò âîçìîæíîñòü
ïðîåêòèðîâàòü èíòåðôåéñ ïîëüçîâàòåëÿ. Ïîêà â îêíå íàõîäèòñÿ òîëüêî îáúåêò
Windows Form.  âåðõíåé ÷àñòè óïîìÿíóòîãî îêíà ðàñïîëàãàåòñÿ âêëàäêà Form1.vb
[Design]. Çäåñü òåêñò, çàêëþ÷åííûé â êâàäðàòíûå ñêîáêè, îáîçíà÷àåò, ÷òî ýòî îêíî
êîíñòðóêòîðà Windows-ôîðì, à ïåðâàÿ ÷àñòü íàçâàíèÿ — Form1.vb — èìÿ ôàéëà,
â êîòîðîì ñîäåðæèòñÿ íåîáõîäèìàÿ äëÿ ïîñòðîåíèÿ îáúåêòà Windows Form ïðî-
ãðàììà, ñîçäàííàÿ ñ ïîìîùüþ Visual Basic .NET. Èìÿ ôàéëà Form1.vb îòîáðàæàåò-
ñÿ òàêæå â îêíàõ Solution Explorer è Properties.
Ðàññìîòðèì ïîêàçàííûé â îêíå Windows Form Designer îáúåêò Windows Form. Îí
ïðåäñòàâëÿåò ñîáîé ôîðìó, íà áàçå êîòîðîé â Windows-ïðèëîæåíèÿõ ðàçðàáàòû-
âàåòñÿ ïîëüçîâàòåëüñêèé èíòåðôåéñ. Ïðè ñîçäàíèè èíòåðôåéñà âû áóäåòå äîáàâ-
ëÿòü â íåå êíîïêè, ïîëÿ ââîäà è äðóãèå îáúåêòû.  âåðõíåé ÷àñòè ôîðìû ðàñïîëà-
ãàåòñÿ ñòðîêà çàãîëîâêà, ãäå íàõîäÿòñÿ çàãîëîâîê, â äàííîì ñëó÷àå Form1, à òàêæå
ñòàíäàðòíûå êíîïêè ñâîðà÷èâàíèÿ, ðàçâîðà÷èâàíèÿ è çàêðûòèÿ îêíà. Êðîìå òîãî,
Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 27
äëÿ îáëåã÷åíèÿ ïðîöåññà âûðàâíèâàíèÿ îáúåêòîâ â îáëàñòè ôîðìû îòîáðàæàåòñÿ
ñåòêà, êîòîðàÿ ïðè ðàáîòå ïðèëîæåíèÿ áóäåò ñêðûòà.
Ðèñ. 1.8. Îêíî Windows Form Designer
ÏÐÈÌÅ×ÀÍÈÅ
Îáúåêò Windows Form ÿâëÿåòñÿ ÷ëåíîì îäíîèìåííîãî êëàññà. Êëàññ, â ñâîþ î÷åðåäü, ïðåä-
ñòàâëÿåò ñîáîé øàáëîí, íåîáõîäèìûé äëÿ ñîçäàíèÿ ýêçåìïëÿðà îáúåêòà.
Òåïåðü ïåðåéäåì ê îïèñàíèþ îêíà Solution Explorer. Çäåñü ïðåäñòàâëåí ñïèñîê ñî-
äåðæàùèõñÿ â êîíêðåòíîì ðåøåíèè ïðîåêòîâ è ýëåìåíòîâ êàæäîãî ïðîåêòà. Îêíî
Solution Explorer, âêëþ÷àþùåå òàêîé ñïèñîê äëÿ ðåøåíèÿ íàøåé çàäà÷è — ñîçäàíèÿ
çàñòàâêè Copyright, ïîêàçàíî íà ðèñ. 1.9.
Ðèñ. 1.9. Îêíî Solution Explorer ñ îòêðûòîé
ïàïêîé References
28 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
Êàê âèäíî íà ðèñóíêå, ðåøåíèå Copyright Solution ñîäåðæèò îäèí ïðîåêò, íàçûâàþ-
ùèéñÿ Copyright Project. Â íåì íàõîäÿòñÿ ïàïêà References ñ íåîáõîäèìîé äëÿ äàí-
íîãî ïðîåêòà èíôîðìàöèåé è äâà ôàéëà — AssemblyInfo.vb è Form1.vb.
Ðàññìîòðèì ñîäåðæèìîå ïàïêè References. Äëÿ ýòîãî íóæíî ùåëêíóòü íà çíà÷êå
«+» ðÿäîì ñ äàííîé ïàïêîé, ïîñëå ÷åãî åå ñîäåðæèìîå áóäåò îòîáðàæåíî íà ýêðàíå.
 ïàïêå References ðàñïîëàãàþòñÿ ññûëêè, ÿâëÿþùèåñÿ ïðîñòî àäðåñàìè ÿ÷ååê ïà-
ìÿòè êîìïüþòåðà. Êàæäàÿ ññûëêà óêàçûâàåò íà ïðîñòðàíñòâî èìåí, êîòîðîå ìîæ-
íî ïðåäñòàâëÿòü â âèäå áëîêà ÿ÷ååê ïàìÿòè. Ïðîñòðàíñòâî èìåí ñîäåðæèò îïåðà-
òîðû, îïðåäåëÿþùèå ãðóïïó ñâÿçàííûõ êëàññîâ. Íàïðèìåð, ïðîñòðàíñòâî èìåí
System.Windows.Forms âêëþ÷àåò îïðåäåëåíèå êëàññà Windows Form, èñïîëüçóþùåãîñÿ
äëÿ ñîçäàíèÿ (èíèöèàëèçàöèè) ýêçåìïëÿðà îáúåêòà Windows Form. Åñëè â ïðîåêòå
ñîäåðæèòñÿ ññûëêà íà ïðîñòðàíñòâî èìåí, òî ïðè ñîçäàíèè îáúåêòîâ îí ìîæåò èñ-
ïîëüçîâàòü êëàññû, îïðåäåëåííûå â ýòîì ïðîñòðàíñòâå èìåí.
Íàïîìíèì, ÷òî â ïðîåêòå Copyright Project íàõîäÿòñÿ òàêæå äâà ôàéëà ñ èìåíàìè
AssemblyInfo.vb è Form1.vb. Îíè ÿâëÿþòñÿ èñõîäíûìè ôàéëàìè, òî åñòü òàêèìè,
â êîòîðûõ ðàñïîëàãàåòñÿ êîä ïðîãðàììû. Â ïåðâîì èç óïîìÿíóòûõ ôàéëîâ õðà-
íèòñÿ ïðîãðàììà, íåîáõîäèìàÿ äëÿ èíñòàëëÿöèè è êîíôèãóðèðîâàíèÿ ïðîåêòà.
Ôàéë Form1.vb â òåêóùèé ìîìåíò ñîäåðæèò êîä, ïðåäíàçíà÷åííûé äëÿ èíèöèàëè-
çàöèè îáúåêòà Windows Form, ïðåäñòàâëåííîãî â îêíå êîíñòðóêòîðà. Êîãäà âû äîáà-
âèòå â ôîðìó îáúåêòû (êíîïêè, ïîëÿ ââîäà è ò. ä.), â ýòîì ôàéëå áóäóò àâòîìàòè-
÷åñêè ñîçäàíû èíèöèàëèçèðóþùèå èõ ïðîãðàììû. Êðîìå òîãî, ôàéë Form1.vb
ñîäåðæèò îïåðàòîðû, êîòîðûå ââîäÿòñÿ â ðåäàêòîðå êîäà (î òîì, êàê ðàáîòàòü ñ äàí-
íûì ðåäàêòîðîì, ìû ðàññêàæåì â çàíÿòèè 3 ýòîé òåìû).
Ïîìèìî ïàïêè References è äâóõ èñõîäíûõ ôàéëîâ, ïðîåêò Copyright Project âêëþ-
÷àåò äðóãèå ôàéëû è ïàïêè. Ñåé÷àñ èìåíà ýòèõ ôàéëîâ è ïàïîê íå îòîáðàæàþòñÿ
â îêíå Solution Explorer, îäíàêî èõ ìîæíî âûâåñòè íà ýêðàí ïîñðåäñòâîì êíîïêè
Show All Files, ðàñïîëîæåííîé íà ïàíåëè èíñòðóìåíòîâ äàííîãî îêíà.
×òîáû ïðîñìîòðåòü äîïîëíèòåëüíûå ïàïêè è ôàéëû, ñîäåðæàùèåñÿ â ïðîåêòå,
âûïîëíèòå ñëåäóþùèå äåéñòâèÿ.
1. Ñâåðíèòå îêíî Properties, íàæàâ êíîïêó Auto Hide â ñòðîêå åãî çàãîëîâêà, à çà-
òåì ïåðåìåñòèâ óêàçàòåëü ìûøè çà ïðåäåëû îêíà. Òåïåðü îêíî Solution Explorer
çàéìåò áîëüøóþ ÷àñòü ýêðàíà.
2. Àêòèâèçèðóéòå êíîïêó Show All Files íà ïàíåëè èíñòðóìåíòîâ îêíà Solution
Explorer è ùåëêíèòå ìûøüþ íà âñåõ çíà÷êàõ «+» (ðèñ. 1.10).
Êíîïêà Show All Files äåéñòâóåò ïîäîáíî ïåðåêëþ÷àòåëþ: ùåëêíóâ íà íåé ìîæíî
îòîáðàçèòü èëè óáðàòü ñ ýêðàíà ïàïêè è ôàéëû.
3. Ñíîâà íàæìèòå êíîïêó Show All Files, è èìåíà äîïîëíèòåëüíûõ ôàéëîâ è ïàïîê
áóäóò ñêðûòû.
4. Ùåëêíèòå íà çíà÷êå «–» ðÿäîì ñ ïàïêîé References, äëÿ òîãî ÷òîáû ñêðûòü
èìåíà ññûëîê.
5. Ïîìåñòèòå óêàçàòåëü ìûøè íà âêëàäêó Properties è, êîãäà îòîáðàçèòñÿ îäíî-
èìåííîå îêíî, íàæìèòå êíîïêó Auto Hide. Ïîñëå ýòîãî îêíî áóäåò ïðèñóòñòâî-
âàòü íà ýêðàíå ïîñòîÿííî.
Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 29
Ðèñ. 1.10. Äîïîëíèòåëüíûå ïàïêè è ôàéëû,
îòîáðàæåííûå â îêíå Solution Explorer
Êàê âû óæå çíàåòå, êîä, ñîçäàþùèé ôîðìó Windows Form, õðàíèòñÿ â èñõîäíîì ôàé-
ëå íà æåñòêîì äèñêå, ïîýòîìó äàííûé ôàéë íàçûâàåòñÿ ôàéëîì ôîðìû. Êîä, îò-
íîñÿùèéñÿ ê ïåðâîìó îáúåêòó ôîðìû, ñîçäàííîìó â ïðîåêòå, àâòîìàòè÷åñêè ñî-
õðàíÿåòñÿ â ôàéëå ôîðìû ñ èìåíåì Form1.vb. Êîä, ñâÿçàííûé ñî âòîðûì îáúåêòîì
Windows Form ýòîãî æå ïðîåêòà, ñîäåðæèòñÿ â ôàéëå ñ èìåíåì Form2.vb è ò. ä. Ïî-
ñêîëüêó ïðîåêò ìîæåò âêëþ÷àòü â ñåáÿ ìíîæåñòâî îáúåêòîâ Windows Form è, ñëåäî-
âàòåëüíî, ñòîëüêî æå ôàéëîâ, èìååò ñìûñë ïðèñâàèâàòü ôàéëàì ôîðìû áîëåå èí-
ôîðìàòèâíûå èìåíà. Èçìåíèòü èìÿ ôàéëà ìîæíî ïîñðåäñòâîì îêíà Properties.
Îêíî Properties
Ôàéë ôîðìû â ëþáîì îáúåêòíî-îðèåíòèðîâàííîì ÿçûêå ÿâëÿåòñÿ îáúåêòîì. Êà-
æäûé îáúåêò â Visual Basic .NET èìååò ìíîæåñòâî ñâÿçàííûõ ñ íèì õàðàêòåðè-
ñòèê, êîòîðûå íàçûâàþòñÿ ñâîéñòâàìè. Ñâîéñòâà, îïðåäåëÿþùèå âèä è ïîâåäåíèå
îáúåêòà, ïåðå÷èñëåíû â îêíå Properties. Ïðè ñîçäàíèè îáúåêòà êàæäîìó åãî ñâîé-
ñòâó ïðèñâàèâàåòñÿ çíà÷åíèå ïî óìîë÷àíèþ. Íàïðèìåð, â îêíå Properties, èçîáðà-
æåííîì íà ðèñ. 1.11, âû âèäèòå çíà÷åíèÿ, ïðèñâîåííûå ñâîéñòâàì ôàéëà ôîðìû
Form1.vb.
Êàê âèäèòå, â îêíå Properties íàõîäÿòñÿ ïîëå Object (ýòî ïîëå, êîòîðîå ñîäåðæèò èìÿ
îáúåêòà) è ïàíåëü c ïåðå÷íåì ñâîéñòâ îáúåêòà è ñîîòâåòñòâóþùèõ èì çíà÷åíèé.
Ïîñëå âûáîðà îáúåêòà â îêíå Solution Explorer åãî èìÿ è ñâîéñòâà îòîáðàæàþòñÿ
â îêíå Properties. Èìÿ îáúåêòà (â äàííîì ñëó÷àå èìÿ ôàéëà ôîðìû Form1.vb) ïîÿâ-
ëÿåòñÿ â ïîëå Object, ðàñïîëîæåííîì ïîä ñòðîêîé çàãîëîâêà îêíà, à ñïèñîê ñâîéñòâ,
îòñîðòèðîâàííûõ â àëôàâèòíîì ïîðÿäêå ëèáî ïî êàòåãîðèÿì, îòîáðàæàåòñÿ
â äâóõ ñòîëáöàõ. Ëåâûé ñòîëáåö ñîäåðæèò âñå ñâÿçàííûå ñ âûäåëåííûì îáúåêòîì
ñâîéñòâà, à ïðàâûé — èõ òåêóùèå çíà÷åíèÿ. Íàïðèìåð, êàê ñëåäóåò èç ðèñ. 1.11,
ñâîéñòâî Build Action èìååò çíà÷åíèå Compile. Êðîìå òîãî, â íèæíåé ÷àñòè îêíà
30 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак
Самоучитель Visual Basic.Net  Д.Зак

More Related Content

Viewers also liked

11 клас 5 урок. Основні етапи розв'язування задач за допомогою комп'ютера.
11 клас 5 урок. Основні етапи розв'язування задач за допомогою комп'ютера. 11 клас 5 урок. Основні етапи розв'язування задач за допомогою комп'ютера.
11 клас 5 урок. Основні етапи розв'язування задач за допомогою комп'ютера. StAlKeRoV
 
6 клас 10 урок. Опреції над об'єктами файлової системи.
6 клас 10 урок. Опреції над об'єктами файлової системи.6 клас 10 урок. Опреції над об'єктами файлової системи.
6 клас 10 урок. Опреції над об'єктами файлової системи.StAlKeRoV
 
6 клас 1 урок. Об’єкти та події.
6 клас 1 урок. Об’єкти та події.6 клас 1 урок. Об’єкти та події.
6 клас 1 урок. Об’єкти та події.StAlKeRoV
 
6 лас 6 урок. Алгоритми у нашому житті. Планування діяльності.
6 лас 6 урок. Алгоритми у нашому житті. Планування діяльності.6 лас 6 урок. Алгоритми у нашому житті. Планування діяльності.
6 лас 6 урок. Алгоритми у нашому житті. Планування діяльності.StAlKeRoV
 
3 клас 9 урок. Меню. Контекстне меню.
3 клас 9 урок. Меню. Контекстне меню.3 клас 9 урок. Меню. Контекстне меню.
3 клас 9 урок. Меню. Контекстне меню.StAlKeRoV
 
Лабораторні роботи з інформатики
Лабораторні роботи з інформатикиЛабораторні роботи з інформатики
Лабораторні роботи з інформатикиStAlKeRoV
 
3 клас 12 урок. Глобальна мережа Інтернет.
3 клас 12 урок. Глобальна мережа Інтернет.3 клас 12 урок. Глобальна мережа Інтернет.
3 клас 12 урок. Глобальна мережа Інтернет.StAlKeRoV
 
6 клас 4 урок. Форми подання алгоритмів.
6 клас 4 урок. Форми подання алгоритмів. 6 клас 4 урок. Форми подання алгоритмів.
6 клас 4 урок. Форми подання алгоритмів. StAlKeRoV
 
11 клас. Урок 28. Огляд сервісів веб 2.0
11 клас. Урок 28. Огляд сервісів веб 2.011 клас. Урок 28. Огляд сервісів веб 2.0
11 клас. Урок 28. Огляд сервісів веб 2.0StAlKeRoV
 
9 клас22 урок. Електронна пошта. Принципи функціонування електронної пошти.
9  клас22 урок. Електронна пошта. Принципи функціонування електронної пошти.9  клас22 урок. Електронна пошта. Принципи функціонування електронної пошти.
9 клас22 урок. Електронна пошта. Принципи функціонування електронної пошти.StAlKeRoV
 
9 клас. Урок 26. Форматування тексту.
9 клас. Урок 26. Форматування тексту.9 клас. Урок 26. Форматування тексту.
9 клас. Урок 26. Форматування тексту.StAlKeRoV
 
3 клас 11 урок. Комп'ютерні мережі
3 клас 11 урок. Комп'ютерні мережі3 клас 11 урок. Комп'ютерні мережі
3 клас 11 урок. Комп'ютерні мережіStAlKeRoV
 

Viewers also liked (12)

11 клас 5 урок. Основні етапи розв'язування задач за допомогою комп'ютера.
11 клас 5 урок. Основні етапи розв'язування задач за допомогою комп'ютера. 11 клас 5 урок. Основні етапи розв'язування задач за допомогою комп'ютера.
11 клас 5 урок. Основні етапи розв'язування задач за допомогою комп'ютера.
 
6 клас 10 урок. Опреції над об'єктами файлової системи.
6 клас 10 урок. Опреції над об'єктами файлової системи.6 клас 10 урок. Опреції над об'єктами файлової системи.
6 клас 10 урок. Опреції над об'єктами файлової системи.
 
6 клас 1 урок. Об’єкти та події.
6 клас 1 урок. Об’єкти та події.6 клас 1 урок. Об’єкти та події.
6 клас 1 урок. Об’єкти та події.
 
6 лас 6 урок. Алгоритми у нашому житті. Планування діяльності.
6 лас 6 урок. Алгоритми у нашому житті. Планування діяльності.6 лас 6 урок. Алгоритми у нашому житті. Планування діяльності.
6 лас 6 урок. Алгоритми у нашому житті. Планування діяльності.
 
3 клас 9 урок. Меню. Контекстне меню.
3 клас 9 урок. Меню. Контекстне меню.3 клас 9 урок. Меню. Контекстне меню.
3 клас 9 урок. Меню. Контекстне меню.
 
Лабораторні роботи з інформатики
Лабораторні роботи з інформатикиЛабораторні роботи з інформатики
Лабораторні роботи з інформатики
 
3 клас 12 урок. Глобальна мережа Інтернет.
3 клас 12 урок. Глобальна мережа Інтернет.3 клас 12 урок. Глобальна мережа Інтернет.
3 клас 12 урок. Глобальна мережа Інтернет.
 
6 клас 4 урок. Форми подання алгоритмів.
6 клас 4 урок. Форми подання алгоритмів. 6 клас 4 урок. Форми подання алгоритмів.
6 клас 4 урок. Форми подання алгоритмів.
 
11 клас. Урок 28. Огляд сервісів веб 2.0
11 клас. Урок 28. Огляд сервісів веб 2.011 клас. Урок 28. Огляд сервісів веб 2.0
11 клас. Урок 28. Огляд сервісів веб 2.0
 
9 клас22 урок. Електронна пошта. Принципи функціонування електронної пошти.
9  клас22 урок. Електронна пошта. Принципи функціонування електронної пошти.9  клас22 урок. Електронна пошта. Принципи функціонування електронної пошти.
9 клас22 урок. Електронна пошта. Принципи функціонування електронної пошти.
 
9 клас. Урок 26. Форматування тексту.
9 клас. Урок 26. Форматування тексту.9 клас. Урок 26. Форматування тексту.
9 клас. Урок 26. Форматування тексту.
 
3 клас 11 урок. Комп'ютерні мережі
3 клас 11 урок. Комп'ютерні мережі3 клас 11 урок. Комп'ютерні мережі
3 клас 11 урок. Комп'ютерні мережі
 

Recently uploaded

French Revolution (फ्रेंच राज्यक्रांती)
French Revolution  (फ्रेंच राज्यक्रांती)French Revolution  (फ्रेंच राज्यक्रांती)
French Revolution (फ्रेंच राज्यक्रांती)Shankar Aware
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...Nguyen Thanh Tu Collection
 
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...Nguyen Thanh Tu Collection
 
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....سمير بسيوني
 

Recently uploaded (6)

French Revolution (फ्रेंच राज्यक्रांती)
French Revolution  (फ्रेंच राज्यक्रांती)French Revolution  (फ्रेंच राज्यक्रांती)
French Revolution (फ्रेंच राज्यक्रांती)
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
 
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
 
LAR MARIA MÃE DE ÁFRICA .
LAR MARIA MÃE DE ÁFRICA                 .LAR MARIA MÃE DE ÁFRICA                 .
LAR MARIA MÃE DE ÁFRICA .
 
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
 

Самоучитель Visual Basic.Net Д.Зак

  • 1. Äèàíà Çàê САМОУЧИТЕЛЬ Visual Basic .NET Ìîñêâà • Ñàíêò-Ïåòåðáóðã • Íèæíèé Íîâãîðîä • Âîðîíåæ Ðîñòîâ-íà-Äîíó • Åêàòåðèíáóðã • Ñàìàðà Êèåâ • Õàðüêîâ • Ìèíñê
  • 2. ÁÁÊ 32. 973-018ÿ7 ÓÄÊ 681.3.06(075) Ç-18 Ç-18 Ñàìîó÷èòåëü Visual Basic .NET/Ä. Çàê. — Êèåâ: BHV; ÑÏá.: Ïèòåð, 2003 — 558 ñ.: èë. ISBN 966-552-109-8 ISBN 5-94723-604-4  êíèãå îïèñàíû ïðèåìû ðàáîòû â ñðåäå .NET, à òàêæå ïðîãðàììèðîâàíèå íà ÿçûêå Visual Basic .NET. Îáó÷åíèå ñòðîèòñÿ íà ïðàêòè÷åñêîé îñíîâå, ñ ïåðâîãî çàíÿòèÿ ÷èòàòåëü ñîçäàåò ãîòî- âûå ïðèëîæåíèÿ. Êîíñòðóêöèè ÿçûêà Visual Basic, à òàêæå ïåðåìåííûå, öèêëû, óïðàâëÿþùèå ñòðóêòóðû, ìàññèâû è äðóãèå ýëåìåíòû ÿçûêà ðàññìàòðèâàþòñÿ ïîñëåäîâàòåëüíî, ïî ìåðå óñëîæ- íåíèÿ ïðèìåðîâ. Âíèìàíèþ ÷èòàòåëÿ ïðåäëàãàåòñÿ òàêæå ìàòåðèàë, ïîñâÿùåííûé îáúåêòíî-îðè- åíòèðîâàííîìó ïðîãðàììèðîâàíèþ, ïðîåêòèðîâàíèþ ïðèëîæåíèé è ìåòîäàì îáðàáîòêè îøèáîê. Êíèãà áóäåò ïîëåçíà íà÷èíàþùèì ïðîãðàììèñòàì è ñòóäåíòàì. ÁÁÊ 32 973-018ÿ7 ÓÄÊ 681.3.06(075) Èíôîðìàöèÿ, ñîäåðæàùàÿñÿ â äàííîé êíèãå, ïîëó÷åíà èç èñòî÷íèêîâ, ðàññìàòðèâàåìûõ èçäàòåëüñòâîì êàê íàäåæíûå. Òåì íå ìåíåå, èìåÿ â âèäó âîçìîæíûå ÷åëîâå÷åñêèå èëè òåõíè÷åñêèå îøèáêè, èçäàòåëüñòâî íå ìîæåò ãàðàíòèðîâàòü àáñîëþòíóþ òî÷- íîñòü è ïîëíîòó ïðèâîäèìûõ ñâåäåíèé è íå íåñåò îòâåòñòâåííîñòè çà âîçìîæíûå îøèáêè, ñâÿçàííûå ñ èñïîëüçîâàíèåì êíèãè. ISBN 966-552-109-8 © Cource Technology, a division of Thomson Leaming, Inc., 2002 ISBN 0-619-01662-0 (àíãë.) © Èçäàòåëüñêàÿ ãðóïïà BHV, Êèåâ, 2003 ISBN 5-94723-604-4 ÇÀÎ © ÇÀÎ Èçäàòåëüñêèé äîì «Ïèòåð», 2003
  • 3. Êðàòêîå ñîäåðæàíèå Ïðåäèñëîâèå.......................................................................................13 Ââåäåíèå ............................................................................................15 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET...............................................17 Òåìà 2. Ýòàïû ðàçðàáîòêè ïðèëîæåíèé .............................................64 Òåìà 3. Ïåðåìåííûå è êîíñòàíòû ....................................................109 Òåìà 4. Óñëîâíûå îïåðàòîðû...........................................................155 Òåìà 5. Åùå ðàç îá óñëîâíûõ îïåðàòîðàõ ........................................203 Òåìà 6. Öèêëû.................................................................................257 Òåìà 7. Ïðîöåäóðû è ôóíêöèè.........................................................315 Òåìà 8. Ðàáîòà ñî ñòðîêàìè .............................................................352 Òåìà 9. Ôàéëû ïîñëåäîâàòåëüíîãî äîñòóïà è ïå÷àòü .......................387 Òåìà 10. Ôàéëû ïðîèçâîëüíîãî äîñòóïà ............................................429 Òåìà 11. Ìàññèâû..............................................................................461 Òåìà 12. Ðàáîòà ñ áàçàìè äàííûõ......................................................493 Ïðèëîæåíèå À. Îáðàáîòêà îøèáîê è îòëàäêà...................................528 Ïðèëîæåíèå Á. Ïàíåëü èíñòðóìåíòîâ êîíñòðóêòîðà Windows-ôîðì.........................................................547 Àëôàâèòíûé óêàçàòåëü .....................................................................551
  • 4. Ñîäåðæàíèå Ïðåäèñëîâèå ................................................................................13 Ââåäåíèå ......................................................................................15 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET.......................................17 Ñîçäàíèå çàñòàâêè Copyright .......................................................................................17 Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé .................................................................18 Çàïóñê è íàñòðîéêà Visual Studio .NET ...................................................................18 Ñîçäàíèå ðåøåíèÿ äëÿ çàñòàâêè Copyright ............................................................22 Îêíà Windows Form Designer è Solution Explorer ....................................................27 Îêíî Properties......................................................................................................30 Ñâîéñòâà îáúåêòà Windows Form ...........................................................................32 Ñîõðàíåíèå ðåøåíèÿ è âûõîä èç Visual Studio .NET ...............................................36 Çàíÿòèå 2. Ðàáîòà ñ ýëåìåíòàìè óïðàâëåíèÿ ...............................................................38 Îêíî Toolbox.........................................................................................................38 Èñïîëüçîâàíèå èíñòðóìåíòà Label.........................................................................42 Îäíîâðåìåííîå èçìåíåíèå ñâîéñòâà íåñêîëüêèõ ýëåìåíòîâ óïðàâëåíèÿ...............46 Èñïîëüçîâàíèå ìåíþ Format .................................................................................48 Ïðèìåíåíèå èíñòðóìåíòà PictureBox .....................................................................48 Èñïîëüçîâàíèå èíñòðóìåíòà Button.......................................................................49 Çàïóñê è çàâåðøåíèå ðàáîòû ïðèëîæåíèÿ.............................................................51 Ñîçäàíèå ïðîãðàììû íà Visual Basic .NET..............................................................53 Çàíÿòèå 3. Çàâåðøåíèå ðàáîòû íàä çàñòàâêîé Copyright..............................................58 Ïðèìåíåíèå èíñòðóìåíòà Timer ............................................................................58 Íàñòðîéêà ñâîéñòâà FormBorderStyle .....................................................................61 Ñâîéñòâà MinimizeBox, MaximizeBox è ControlBox ...................................................62
  • 5. Òåìà 2. Ýòàïû ðàçðàáîòêè ïðèëîæåíèé.....................................64 Ñîçäàíèå ïðèëîæåíèÿ äëÿ ïðèåìà çàêàçîâ..................................................................64 Çàíÿòèå 1. Ïðîåêòèðîâàíèå îáúåêòíî-îðèåíòèðîâàííîãî ïðèëîæåíèÿ ........................65 Ïîðÿäîê ñîçäàíèÿ îáúåêòíî-îðèåíòèðîâàííîãî óïðàâëÿåìîãî ñîáûòèÿìè ïðèëîæåíèÿ .........................................................................................................65 Îïèñàíèå îáúåêòîâ ïðèëîæåíèÿ è âûïîëíÿåìûõ èìè çàäà÷ .................................66 Ðàçðàáîòêà ýñêèçà èíòåðôåéñà ïîëüçîâàòåëÿ........................................................70 Çàíÿòèå 2. Ñîçäàíèå èíòåðôåéñà ïîëüçîâàòåëÿ...........................................................74 Ðàçìåùåíèå ýëåìåíòîâ èíòåðôåéñà......................................................................74 Ïðèìåíåíèå ãðàôèêè, øðèôòîâ è öâåòà................................................................76 Âûáîð ñòèëÿ ðàìêè ýëåìåíòà óïðàâëåíèÿ .............................................................79 Ñîçäàíèå íàäïèñè íà ýëåìåíòå óïðàâëåíèÿ ..........................................................79 Íàçíà÷åíèå êëàâèø áûñòðîãî äîñòóïà ..................................................................82 Íàñòðîéêà ñâîéñòâà TabIndex................................................................................84 Çàíÿòèå 3. Ïðîãðàììèðîâàíèå, òåñòèðîâàíèå è îòëàäêà ïðèëîæåíèÿ..........................91 Ïðîãðàììèðîâàíèå ïðèëîæåíèÿ............................................................................91 Ñîçäàíèå ïðîãðàììû äëÿ êíîïêè Clear Screen .......................................................92 Àðèôìåòè÷åñêèå âûðàæåíèÿ.................................................................................97 Ñîçäàíèå ïðîãðàììû äëÿ êíîïêè CalcButton..........................................................98 Ôóíêöèÿ Val ........................................................................................................102 Ôóíêöèÿ Format...................................................................................................104 Òåñòèðîâàíèå è îòëàäêà ïðèëîæåíèÿ ..................................................................106 Ñîçäàíèå äîêóìåíòàöèè ......................................................................................107 Òåìà 3. Ïåðåìåííûå è êîíñòàíòû ............................................109 Âíåñåíèå èçìåíåíèé â ïðèëîæåíèå Skate-Away Sales ................................................109 Çàíÿòèå 1. Ñîçäàíèå ïåðåìåííûõ è èìåíîâàííûõ êîíñòàíò .......................................110 Èñïîëüçîâàíèå ïåðåìåííûõ äëÿ õðàíåíèÿ èíôîðìàöèè ......................................110 Îáúÿâëåíèå ïåðåìåííîé .....................................................................................115 Ïðèñâàèâàíèå çíà÷åíèé ïåðåìåííîé...................................................................116 Îáëàñòü âèäèìîñòè ïåðåìåííîé ..........................................................................117 Èìåíîâàííûå êîíñòàíòû .....................................................................................124 Çàíÿòèå 2. Èçìåíåíèå ïðèëîæåíèÿ Skate-Away Sales .................................................127 Õðàíåíèå èíôîðìàöèè â ïåðåìåííûõ..................................................................127 Èçìåíåíèå ïðîãðàììû êíîïêè Calculate Order .....................................................129 Êîíêàòåíàöèÿ ñòðîê ............................................................................................136 Ôóíêöèÿ InputBox................................................................................................138 Ñèìâîë íîâîé ñòðîêè ..........................................................................................142 Íàçíà÷åíèå êíîïêè ïî óìîë÷àíèþ ......................................................................144 Çàíÿòèå 3. Äîïîëíåíèÿ ê ïðèëîæåíèþ Skate-Away Sales............................................146 Èçìåíåíèå ïðîöåäóð îáðàáîòêè ñîáûòèé Load è Click..........................................146 Ñîäåðæàíèå 7
  • 6. Ñòàòè÷åñêèå ïåðåìåííûå ....................................................................................151 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ TextChanged ......................................................152 Ñâÿçûâàíèå ïðîöåäóðû ñ ðàçëè÷íûìè îáúåêòàìè èëè ñîáûòèÿìè........................153 Òåìà 4. Óñëîâíûå îïåðàòîðû....................................................155 Ñîçäàíèå ïðèëîæåíèÿ, âû÷èñëÿþùåãî åæåìåñÿ÷íûå ïëàòåæè...................................155 Çàíÿòèå 1. Îïåðàòîð If…Then…Else............................................................................156 Âåòâÿùèåñÿ ïðîöåññû .........................................................................................156 Ñîçäàíèå ïñåâäîêîäà äëÿ óñëîâíûõ îïåðàòîðîâ If è If…Else................................157 Ïðåäñòàâëåíèå îïåðàòîðîâ If è If…Else â ñòðóêòóðíîé ñõåìå àëãîðèòìà ..............159 Èñïîëüçîâàíèå îïåðàòîðîâ If è If…Else ...............................................................160 Îïåðàòîðû ñðàâíåíèÿ .........................................................................................161 Ëîãè÷åñêèå îïåðàòîðû ........................................................................................166 Ôóíêöèè UCase è LCase .......................................................................................173 Çàíÿòèå 2. Ïðèëîæåíèå, âû÷èñëÿþùåå ñóììó åæåìåñÿ÷íûõ ïëàòåæåé ......................177 Ðàçðàáîòêà èíòåðôåéñà ïîëüçîâàòåëÿ.................................................................177 Ñîçäàíèå ïðîöåäóðû CalcPayButton_Click.............................................................183 Ìåòîä MessageBox.Show......................................................................................189 Ïðîãðàììèðîâàíèå ñîáûòèÿ TextChanged............................................................195 Çàíÿòèå 3. Çàâåðøåíèå ïðèëîæåíèÿ Monthly Payment Calculator ................................197 Ñîáûòèå KeyPress................................................................................................197 Âûðàâíèâàíèå òåêñòà â ýëåìåíòå óïðàâëåíèÿ Label.............................................201 Òåìà 5. Åùå ðàç îá óñëîâíûõ îïåðàòîðàõ................................203 Ðàçðàáîòêà ïðèëîæåíèÿ äëÿ ìàòåìàòè÷åñêîãî ïðàêòèêóìà ........................................203 Çàíÿòèå 1. Âëîæåííûå óñëîâíûå îïåðàòîðû, îïåðàòîðû If...ElseIf...Else è Case .........204 Âëîæåííûå óñëîâíûå îïåðàòîðû.........................................................................204 Ëîãè÷åñêèå îøèáêè â óñëîâíûõ îïåðàòîðàõ ........................................................209 Îïåðàòîð If...ElseIf...Else .....................................................................................215 Îïåðàòîð Case ....................................................................................................217 Îïåðàòîðû Is, TypeOf…Is è Like...........................................................................222 Çàíÿòèå 2. Ðàçðàáîòêà ïðèëîæåíèÿ Math Practice.......................................................228 Çàâåðøåíèå èíòåðôåéñà ïîëüçîâàòåëÿ ...............................................................228 Ïðîãðàììèðîâàíèå ïðèëîæåíèÿ Math Practice .....................................................235 Ñîçäàíèå ïîëüçîâàòåëüñêîé ïðîöåäóðû ..............................................................237 Ñîçäàíèå ïðîöåäóð îáðàáîòêè ñîáûòèÿ Click ïåðåêëþ÷àòåëåé Grade 1 è Grade 2.............................................................................................................241 Ñîçäàíèå ïðîöåäóð îáðàáîòêè ñîáûòèÿ Click ïåðåêëþ÷àòåëåé Addition è Subtraction........................................................................................................244 Ñîçäàíèå ïðîöåäóðû îáðàáîòêè ñîáûòèÿ Load ôîðìû.........................................246 8 Ñîäåðæàíèå
  • 7. Çàíÿòèå 3. Çàâåðøåíèå ðàçðàáîòêè ïðèëîæåíèÿ Math Practice...................................249 Ñîçäàíèå ïðîöåäóðû CheckAnswerButton_Click ....................................................249 Ñîçäàíèå ïðîöåäóðû SummaryCheckBox_Click......................................................254 Òåìà 6. Öèêëû ............................................................................257 Ïðîåêòèðîâàíèå ïðèëîæåíèÿ, îïðåäåëÿþùåãî ñåìåñòðîâóþ îöåíêó ïî ïðîãðàììèðîâàíèþ...............................................................................................257 Çàíÿòèå 1. Öèêëè÷åñêèå êîíñòðóêöèè ........................................................................258 Öèêëè÷åñêèå êîíñòðóêöèè ...................................................................................258 Îïåðàòîð For…Next .............................................................................................259 Îïåðàòîð Do…Loop..............................................................................................269 Ïðèìåíåíèå ñ÷åò÷èêîâ è ñóììèðóþùèõ ïåðåìåííûõ...........................................276 Çàíÿòèå 2. Ðàáîòà ñ ñåìåéñòâîì Controls ...................................................................285 Ñåìåéñòâî ýëåìåíòîâ óïðàâëåíèÿ Controls ..........................................................285 Îáúåêòíûå ïåðåìåííûå ......................................................................................288 Îïåðàòîð For Each…Next .....................................................................................291 Ñîçäàíèå ïîëüçîâàòåëüñêèõ ñåìåéñòâ..................................................................296 Ïðèëîæåíèå, âû÷èñëÿþùåå ñåìåñòðîâóþ îöåíêó ïî ïðîãðàììèðîâàíèþ.............299 Ðàçðàáîòêà ïðîöåäóðû GradeForm_Load ..............................................................301 Ðàçðàáîòêà îáðàáîò÷èêà ñîáûòèÿ Click ðàñïîëîæåííûõ â ôîðìå ôëàæêîâ...........302 Çàíÿòèå 3. Çàâåðøåíèå ïðèëîæåíèÿ äëÿ îïðåäåëåíèÿ îöåíêè ïî ïðîãðàììèðîâàíèþ..............................................................................307 Ðàçðàáîòêà ïðîöåäóðû DisplayButton_Click...........................................................307 Ñîçäàíèå ïðîöåäóðû îáðàáîòêè ñîáûòèÿ Enter ïîëåé ôîðìû ..............................311 Ñîçäàíèå ïðîöåäóðû îáðàáîòêè ñîáûòèÿ Closing îáúåêòà GradeForm...................313 Òåìà 7. Ïðîöåäóðû è ôóíêöèè .................................................315 Ïðîåêòèðîâàíèå áóõãàëòåðñêîãî ïðèëîæåíèÿ............................................................315 Çàíÿòèå 1. Ïðîåêòèðîâàíèå ïîäïðîãðàìì è ôóíêöèé.................................................316 Ïðîöåäóðû è ïîäïðîãðàììû................................................................................316 Ïåðåäà÷à àðãóìåíòîâ â ïîëüçîâàòåëüñêèå ïîäïðîãðàììû ...................................317 Ôóíêöèè..............................................................................................................324 Çàíÿòèå 2. Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ ListBox............................................327 Ïðîåêòèðîâàíèå èíòåðôåéñà áóõãàëòåðñêîãî ïðèëîæåíèÿ...................................327 Äîáàâëåíèå â ôîðìó ýëåìåíòà óïðàâëåíèÿ ListBox..............................................328 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ CalculateButton_Click ..........................................336 Ñîçäàíèå ôóíêöèè GetFwtTax..............................................................................337 Çàâåðøåíèå îáðàáîò÷èêà ñîáûòèÿ CalculateButton_Click ......................................342 Î÷èñòêà ñîäåðæèìîãî ýëåìåíòîâ óïðàâëåíèÿ Label.............................................344 Ñîäåðæàíèå 9
  • 8. Çàíÿòèå 3. Çàâåðøåíèå ïðîåêòèðîâàíèÿ áóõãàëòåðñêîãî ïðèëîæåíèÿ........................346 Äîáàâëåíèå ñóùåñòâóþùåé ôîðìû â ðåøåíèå ....................................................346 Ïðîöåäóðà Sub Main ............................................................................................348 Ñîçäàíèå ýêçåìïëÿðà ôîðìû...............................................................................349 Òåìà 8. Ðàáîòà ñî ñòðîêàìè.......................................................352 Ñîçäàíèå èãðû «Âèñåëèöà» .......................................................................................352 Çàíÿòèå 1. Ðàáîòà ñî ñòðîêàìè ..................................................................................353 Îïðåäåëåíèå êîëè÷åñòâà ñèìâîëîâ â ñòðîêå .......................................................353 Óäàëåíèå ñèìâîëîâ èç ñòðîêè .............................................................................354 Ïîèñê ïîäñòðîêè â íà÷àëå èëè êîíöå ñòðîêè .......................................................358 Èçâëå÷åíèå ñèìâîëîâ èç ñòðîêè..........................................................................360 Çàìåíà ñèìâîëîâ â ñòðîêå...................................................................................362 Äîáàâëåíèå ñèìâîëîâ â ñòðîêó ...........................................................................364 Ïîèñê çàäàííîé ïîñëåäîâàòåëüíîñòè ñèìâîëîâ â ñòðîêå .....................................365 Çàíÿòèå 2. Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ MainMenu .......................................368 Çàâåðøåíèå èíòåðôåéñà èãðû «Âèñåëèöà»..........................................................368 Ñîçäàíèå ìåíþ ...................................................................................................369 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ FileExitMenuItem_Click ........................................373 Çàíÿòèå 3. Çàâåðøåíèå èãðû «Âèñåëèöà» ..................................................................375 Ïðèëîæåíèå äëÿ èãðû «Âèñåëèöà»......................................................................375 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ FileNewMenuItem_Click .......................................376 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ Click äëÿ íàäïèñåé, ñîäåðæàùèõ áóêâû ..............379 Òåìà 9. Ôàéëû ïîñëåäîâàòåëüíîãî äîñòóïà è ïå÷àòü.............387 Ñîçäàíèå ïðèëîæåíèÿ äëÿ ó÷åòà ðàçëè÷íûõ ìåðîïðèÿòèé.........................................387 Çàíÿòèå 1. Ôàéëû ïîñëåäîâàòåëüíîãî äîñòóïà...........................................................388 Òèïû ôàéëîâ.......................................................................................................388 Ôàéëû ïîñëåäîâàòåëüíîãî äîñòóïà .....................................................................388 Èñïîëüçîâàíèå îáúåêòîâ StreamWriter è StreamReader ........................................390 Îòêðûòèå ôàéëà ïîñëåäîâàòåëüíîãî äîñòóïà ......................................................390 Çàïèñü â ôàéë ïîñëåäîâàòåëüíîãî äîñòóïà .........................................................393 ×òåíèå èç ôàéëà ïîñëåäîâàòåëüíîãî äîñòóïà......................................................397 Çàêðûòèå ôàéëà ïîñëåäîâàòåëüíîãî äîñòóïà.......................................................398 Äåìîíñòðàöèÿ ðàáîòû ñ ôàéëàìè ïîñëåäîâàòåëüíîãî äîñòóïà ............................399 Çàíÿòèå 2. Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ DateTimePicker ...............................403 Çàâåðøåíèå èíòåðôåéñà ïðèëîæåíèÿ Carriage House ..........................................403 Äîáàâëåíèå ýëåìåíòà óïðàâëåíèÿ DateTimePicker...............................................404 Ñâîéñòâî ShowUpDown........................................................................................407 Ñâîéñòâî Format..................................................................................................408 Ñâîéñòâî Value....................................................................................................409 Ñâîéñòâî Text......................................................................................................412 10 Ñîäåðæàíèå
  • 9. Êàê ïîëó÷èòü ñèñòåìíîå âðåìÿ............................................................................412 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ CarriageForm_Load .............................................414 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ AddButton_Click..................................................418 Çàíÿòèå 3. Çàâåðøåíèå ðàçðàáîòêè ïðèëîæåíèÿ Carriage House ................................422 Ïðèëîæåíèå äëÿ Carriage House ..........................................................................422 Äîáàâëåíèå ýëåìåíòà óïðàâëåíèÿ PrintDocument ................................................422 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ PrintButton_Click.................................................423 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ PrintDocument_PrintPage.....................................424 Ìåòîä e.Graphics.DrawString ................................................................................425 Òåìà 10. Ôàéëû ïðîèçâîëüíîãî äîñòóïà..................................429 Ñîçäàíèå ïðèëîæåíèÿ äëÿ ñåìèíàðà .........................................................................429 Çàíÿòèå 1. Ðàáîòà ñ ôàéëàìè ïðîèçâîëüíîãî äîñòóïà................................................430 Ñðàâíåíèå ôàéëîâ ïðîèçâîëüíîãî è ïîñëåäîâàòåëüíîãî äîñòóïà ........................430 Ñîçäàíèå ñòðóêòóðû çàïèñè.................................................................................432 Îáúÿâëåíèå ïåðåìåííîé çàïèñè..........................................................................434 Îòêðûòèå ôàéëà ïðîèçâîëüíîãî äîñòóïà.............................................................434 Ñîõðàíåíèå çàïèñè â ôàéëå ïðîèçâîëüíîãî äîñòóïà ...........................................435 ×òåíèå çàïèñåé èç ôàéëà ïðîèçâîëüíîãî äîñòóïà ...............................................438 Çàêðûòèå ôàéëà ïðîèçâîëüíîãî äîñòóïà .............................................................439 Çàíÿòèå 2. Èñïîëüçîâàíèå ôàéëà ïðîèçâîëüíîãî äîñòóïà..........................................441 Ïðèëîæåíèå äëÿ ñåìèíàðà ..................................................................................441 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ InitializeButton_ Click ..........................................443 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ AddButton_Click..................................................446 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ DisplayButton_Click .............................................449 Çàíÿòèå 3. Çàâåðøåíèå ïðèëîæåíèÿ äëÿ ñåìèíàðà....................................................453 Ñîçäàíèå ïðîöåäóð äëÿ ïðèëîæåíèÿ Seminar ......................................................453 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ RemoteButton_Click ............................................453 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ PrintButton_Click.................................................456 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ SeminarPrintDocument_PrintPage.........................457 Òåìà 11. Ìàññèâû.......................................................................461 Ñîçäàíèå ïðèëîæåíèÿ äëÿ ðàñ÷åòà ñóììû íàëîãà......................................................461 Çàíÿòèå 1. Èñïîëüçîâàíèå îäíîìåðíîãî ìàññèâà .......................................................462 Ìàññèâû..............................................................................................................462 Îäíîìåðíûå ìàññèâû .........................................................................................463 Çàïèñü äàííûõ â îäíîìåðíûé ìàññèâ ..................................................................465 Èñïîëüçîâàíèå îäíîìåðíûõ ìàññèâîâ .................................................................466 Îòîáðàæåíèå ñîäåðæèìîãî îäíîìåðíîãî ìàññèâà ...............................................466 Èñïîëüçîâàíèå èíäåêñà äëÿ äîñòóïà ê ýëåìåíòó îäíîìåðíîãî ìàññèâà................468 Ïîèñê â îäíîìåðíîì ìàññèâå ..............................................................................469 Âû÷èñëåíèå ñðåäíåãî àðèôìåòè÷åñêîãî ýëåìåíòîâ ÷èñëîâîãî ìàññèâà ...............470 Ñîäåðæàíèå 11
  • 10. Ïîèñê ýëåìåíòà ñ ìàêñèìàëüíûì çíà÷åíèåì........................................................471 Èçìåíåíèå ýëåìåíòîâ îäíîìåðíîãî ìàññèâà .......................................................472 Ñîðòèðîâêà ýëåìåíòîâ îäíîìåðíîãî ìàññèâà ......................................................473 Çàíÿòèå 2. Ìàññèâû è íåîäíîðîäíûå äàííûå ............................................................477 Ïàðàëëåëüíûå îäíîìåðíûå ìàññèâû ...................................................................477 Õðàíåíèå çàïèñåé â îäíîìåðíîì ìàññèâå............................................................479 Çàíÿòèå 3. Èñïîëüçîâàíèå äâóõìåðíûõ ìàññèâîâ.......................................................482 Äâóõìåðíûå ìàññèâû ..........................................................................................482 Õðàíåíèå äàííûõ â äâóõìåðíîì ìàññèâå.............................................................484 Âû÷èñëåíèå ñóììû çíà÷åíèé, õðàíÿùèõñÿ â äâóõìåðíîì ìàññèâå .......................485 Ïðèëîæåíèå äëÿ ðàñ÷åòà ïîäîõîäíîãî íàëîãà.....................................................486 Ñîçäàíèå îáðàáîò÷èêà ñîáûòèÿ CalculateButton_Click ..........................................489 Òåìà 12. Ðàáîòà ñ áàçàìè äàííûõ ............................................493 Ñîçäàíèå ïðèëîæåíèÿ äëÿ ïðîñìîòðà èíôîðìàöèè î ñîòðóäíèêàõ.............................493 Çàíÿòèå 1. Äîñòóï ê áàçå äàííûõ ñ èñïîëüçîâàíèåì Windows-ôîðìû ........................494 Ðåëÿöèîííûå áàçû äàííûõ..................................................................................494 Äîáàâëåíèå îáúåêòà OleDbDataAdapter â Windows-ôîðìó ...................................496 SQL .....................................................................................................................501 Ñîçäàíèå íàáîðà äàííûõ.....................................................................................507 Äîáàâëåíèå â ôîðìó ýëåìåíòà óïðàâëåíèÿ DataGrid ...........................................510 Íàñòðîéêà âíåøíåãî âèäà ýëåìåíòà óïðàâëåíèÿ EmployDataGrid.........................512 Çàíÿòèå 2. Äîñòóï ê áàçå äàííûõ ñ èñïîëüçîâàíèåì web-ôîðìû................................515 Ñîçäàíèå web-ïðèëîæåíèÿ..................................................................................515 Äîáàâëåíèå îáúåêòà OleDbDataAdapter â web-ôîðìó ..........................................517 Ñîçäàíèå íàáîðà äàííûõ.....................................................................................522 Äîáàâëåíèå â ôîðìó ýëåìåíòà óïðàâëåíèÿ DataGrid ...........................................524 Íàñòðîéêà âíåøíåãî âèäà ýëåìåíòà óïðàâëåíèÿ EmployDataGrid.........................526 Ïðèëîæåíèå À. Îáðàáîòêà îøèáîê è îòëàäêà........................528 Òèïû îøèáîê.......................................................................................................529 Èñêëþ÷åíèÿ è îáðàáîòêà èñêëþ÷åíèé .................................................................532 Ñîçäàíèå ñîáñòâåííûõ èñêëþ÷åíèé.....................................................................539 Îòëàäêà ..............................................................................................................540 Ïðèëîæåíèå Á. Ïàíåëü èíñòðóìåíòîâ êîíñòðóêòîðà Windows-ôîðì................................................547 Àëôàâèòíûé óêàçàòåëü .............................................................551 12 Ñîäåðæàíèå
  • 11. Ïðåäèñëîâèå Visual Basic .NET — ýòî ÿçûê, êîòîðûé ïðåäíàçíà÷åí äëÿ ðàçðàáîòêè ïðèëîæåíèé â ñðåäå Visual Studio .NET. Îí ïðîñò â îñâîåíèè è ïðèìåíåíèè è èñêëþ÷èòåëüíî ýôôåêòèâåí. Ïåðâàÿ âåðñèÿ ÿçûêà ïîÿâèëàñü â ìàå 1991 ãîäà. Ýòîò ïðîäóêò çà- ìåòíî îáëåã÷èë ïðîöåññ ñîçäàíèÿ ïîëíîôóíêöèîíàëüíûõ Windows-ïðèëîæåíèé. Ñ òåõ ïîð ïðîøëî áîëåå äåñÿòè ëåò, â òå÷åíèå êîòîðûõ èñõîäíûé ÿçûê, èçìåíèâ- øèé ìèð êîìïüþòåðíûõ òåõíîëîãèé, àêòèâíî ðàçâèâàëñÿ. Íà ñåãîäíÿøíèé äåíü íà íåì íàïèñàíî áîëüøå Windows-ïðèëîæåíèé, ÷åì íà êàêîì-ëèáî äðóãîì ÿçûêå. Íåâåðîÿòíûé óñïåõ Visual Basic îáóñëîâëåí åãî ïðîñòîòîé — ÷òîáû íà÷àòü èì ïîëüçîâàòüñÿ, íå íóæíî äîëãî ó÷èòüñÿ. Êðîìå òîãî, âðÿä ëè íàéäåòñÿ çàäà÷à, êîòî- ðóþ ìîæíî ðåàëèçîâàòü ñ ïîìîùüþ êàêîãî-òî ÿçûêà ïðîãðàììèðîâàíèÿ, íî íåëü- çÿ âûïîëíèòü ñðåäñòâàìè Visual Basic. Ñëåäîâàòåëüíî, åñëè âû íà÷íåòå îñâàèâàòü ýòîò ÿçûê ïðÿìî ñåé÷àñ, ýòî áóäåò õîðîøèì çàäåëîì íà áóäóùåå. Ïðåäëàãàåìàÿ âàøåìó âíèìàíèþ êíèãà ïðåäñòàâëÿåò ñîáîé ïîñîáèå äëÿ ñàìî- ñòîÿòåëüíîãî èçó÷åíèÿ îñíîâ ïðîãðàììèðîâàíèÿ íà Visual Basic .NET. Ïîäà÷à òåîðåòè÷åñêîãî ìàòåðèàëà çäåñü òåñíî ñî÷åòàåòñÿ ñ ïðàêòè÷åñêèìè óïðàæíåíèÿ- ìè. Äëÿ ðàáîòû ñ êíèãîé òðåáóåòñÿ ìèíèìàëüíûé íàáîð íàâûêîâ â ïðîãðàììèðî- âàíèè. Íàëè÷èå áîëüøîãî ÷èñëà ðèñóíêîâ ïîìîæåò âàì êîíòðîëèðîâàòü ïðàâèëü- íîñòü âûïîëíÿåìûõ äåéñòâèé. Ñàìîó÷èòåëü ðàçáèò íà 12 òåì, êàæäàÿ èç êîòîðûõ ïðåäñòàâëåíà òðåìÿ çàíÿòèÿ- ìè.  ðàìêàõ êàæäîé òåìû ñîçäàåòñÿ íîâîå ïðèëîæåíèå. ×òîáû èçáàâèòü ÷èòàòå- ëÿ îò áîëüøåé ÷àñòè ðóòèííîé ðàáîòû è äàòü åìó âîçìîæíîñòü ñîñðåäîòî÷èòüñÿ íà èçó÷åíèè êîíêðåòíîãî àñïåêòà ïðîãðàììèðîâàíèÿ, äëÿ êàæäîé òåìû íà ñåðâå- ðå èçäàòåëüñòâà ïðåäëàãàåòñÿ íåçàâåðøåííîå ïðèëîæåíèå, êîòîðîå äîðàáàòûâàåò- ñÿ ïî õîäó èçëîæåíèÿ åå ìàòåðèàëà.  òåìå 1 ÷èòàòåëü îçíàêîìèòñÿ ñ èíòåðôåéñîì ñðåäû Visual Studio. NET è ñîçäàñò ñâîå ïåðâîå ïðèëîæåíèå.  òåìå 2 ðàññêàçûâàåòñÿ î ïðîåêòèðîâàíèè îáúåêòíî- îðèåíòèðîâàííûõ óïðàâëÿåìûõ ñîáûòèÿìè ïðèëîæåíèé. Âû óçíàåòå, èç êàêèõ ýòàïîâ ñîñòîèò ïðîöåññ ñîçäàíèÿ ïðèëîæåíèÿ, à òàêæå îá îñíîâíûõ ïðàâèëàõ, êî- òîðûì íóæíî ñëåäîâàòü ïðè ðàçðàáîòêå ãðàôè÷åñêîãî èíòåðôåéñà ïîëüçîâàòåëÿ. Îïèñàíèþ òèïîâ äàííûõ Visual Basic .NET ïîñâÿùåíà òåìà 3. Ïðîðàáîòàâ åå, âû íàó÷èòåñü ñîçäàâàòü ïåðåìåííûå è êîíñòàíòû, íàçíà÷àòü èì èìåíà, ïðèñâàèâàòü çíà÷åíèÿ è îïðåäåëÿòü èõ îáëàñòü âèäèìîñòè.  òåìå 4 ðàññêàçûâàåòñÿ îá óñëîâíûõ êîíñòðóêöèÿõ, à òàêæå î ïðèîðèòåòå âûïîë- íåíèÿ àðèôìåòè÷åñêèõ, ëîãè÷åñêèõ è óñëîâíûõ îïåðàòîðîâ. Çäåñü òàêæå ðå÷ü èäåò î ïðèíöèïàõ ñîñòàâëåíèÿ è èñïîëüçîâàíèÿ ñòðóêòóðíîé ñõåìû àëãîðèòìà. Âëîæåííûå óñëîâíûå îïåðàòîðû, ïðåäíàçíà÷åííûå äëÿ ôîðìèðîâàíèÿ ñëîæíûõ óñëîâèé ïðîâåðêè, îïèñàíû â òåìå 5.  íåé æå ðàññìîòðåíû è íàèáîëåå ðàñïðî- ñòðàíåííûå îøèáêè, êîòîðûå ìîãóò âîçíèêíóòü ïðè èñïîëüçîâàíèè âëîæåííûõ óñëîâíûõ îïåðàòîðîâ, à òàêæå ïðåäëîæåíû ïóòè èõ óñòðàíåíèÿ.
  • 12. Òàêîìó âàæíîìó ýëåìåíòó ÿçûêà ïðîãðàììèðîâàíèÿ Visual Basic .NET, êàê öèê- ëû, ïîñâÿùåíà òåìà 6.  òåìå 7 ðàññêàçûâàåòñÿ î òîì, êàê â Visual Basic ðåàëèçóåòñÿ ìîäóëüíûé ïîäõîä, êàê ñîçäàþòñÿ è èñïîëüçóþòñÿ ïîäïðîãðàììû è ôóíêöèè. Òåìà 8 ïîñâÿùåíà îá- ðàáîòêå è àíàëèçó ñòðîêîâûõ äàííûõ — çàäà÷å, êîòîðóþ ÷àñòî ïðèõîäèòñÿ ðåøàòü ïðîãðàììèñòàì. Ïðèëîæåíèÿ, ðàññìîòðåííûå â òåìàõ 9 è 10, ïîñâÿùåíû ðàáîòå ñ ôàéëàìè è ðåàëèçàöèè ôóíêöèé ïå÷àòè. Íà çàíÿòèÿõ ïî ýòèì òåìàì ðå÷ü èäåò îá îðãàíèçàöèè çàïèñè è ÷òåíèÿ èç ôàéëîâ ïîñëåäîâàòåëüíîãî è ïðîèçâîëüíîãî äîñòóïà.  ïðèìåðàõ òåìû 11 ïðîäåìîíñòðèðîâàíû ïðèåìû âûïîëíåíèÿ îñíîâíûõ îïåðà- öèé ñ îäíî- è äâóõìåðíûìè ìàññèâàìè (ïîèñê ýëåìåíòîâ, èõ ñîðòèðîâêà è ò. ä.). È, íàêîíåö, â òåìå 12 ïîêàçàíî, êàê èç ïðîãðàììû ïîëó÷èòü äîñòóï ê áàçå äàííûõ. Ïîñêîëüêó âîïðîñû îòëàäêè, òåñòèðîâàíèÿ è îáðàáîòêè îøèáîê ìîæíî îòíåñòè êî âñåì òåìàì, îíè ðàññìàòðèâàþòñÿ îòäåëüíî, â ïðèëîæåíèè À. Òàê ÷òî ïðè âîç- íèêíîâåíèè ïðîáëåì îáðàùàéòåñü ê íåìó. À äëÿ òîãî ÷òîáû îáëåã÷èòü âàì ðàáîòó ñ ïàíåëüþ èíñòðóìåíòîâ êîíñòðóêòîðà ôîðì, ìû ïðèâåëè â ïðèëîæåíèè Á îïèñà- íèå ïðåäñòàâëåííûõ íà íåé ýëåìåíòîâ óïðàâëåíèÿ ñ óêàçàíèåì ñîîòâåòñòâóþùèõ èì çíà÷êîâ. Ñîãëàøåíèÿ, ïðèíÿòûå â êíèãå Äëÿ òîãî ÷òîáû îáëåã÷èòü âîñïðèÿòèå ìàòåðèàëà, òåêñò çàíÿòèé îðãàíèçîâàí â âè- äå íóìåðîâàííîé ïîñëåäîâàòåëüíîñòè øàãîâ.  êíèãå ìíîãî ñïåöèàëüíûõ àáçàöåâ «ÑÎÂÅÒ» è «ÏÐÈÌÅ×ÀÍÈÅ», íàçíà÷åíèå êîòîðûõ — ñêîíöåíòðèðîâàòü âíè- ìàíèå ÷èòàòåëÿ íà âàæíîì âîïðîñå. Íàçâàíèÿ ýëåìåíòîâ èíòåðôåéñà, à òàêæå èìåíà ôàéëîâ è ïàïîê âûäåëåíû ñïåöè- àëüíûì øðèôòîì. Êëþ÷åâûå ñëîâà Visual Basic, à òàêæå íàçâàíèÿ ôóíêöèé, ïåðå- ìåííûõ è äðóãèõ ÿçûêîâûõ êîíñòðóêöèé äàíû ìîíîøèðèííûì øðèôòîì. Îò èçäàòåëüñòâà Âàøè çàìå÷àíèÿ, ïðåäëîæåíèÿ, âîïðîñû îòïðàâëÿéòå ïî àäðåñó ýëåêòðîííîé ïî÷- òû comp@piter.com (èçäàòåëüñòâî «Ïèòåð», êîìïüþòåðíàÿ ðåäàêöèÿ). Ìû áóäåì ðàäû óçíàòü âàøå ìíåíèå! Êîäû ïðîãðàìì è ãîòîâûå ê èñïîëüçîâàíèþ ïðèëîæåíèÿ, ñîçäàíèå êîòîðûõ îïè- ñàíî â ýòîé êíèãå, âû ìîæåòå íàéòè ïî àäðåñó http://www.piter.com/download. Ôàéëû ðàñïðåäåëåíû ïî ïàïêàì, íàçâàíèÿ êîòîðûõ îòâå÷àþò íîìåðàì òåì. Èíôîðìàöèþ î êíèãàõ èçäàòåëüñòâ «Ïèòåð» è «Èçäàòåëüñêàÿ ãðóïïà BHV» âû íàéäåòå íà web-ñàéòàõ http://www.piter.com è http://www.bhv.kiev.ua. 14 Ïðåäèñëîâèå
  • 13. Ââåäåíèå Ïðåæäå ÷åì ïðèñòóïàòü ê ðàáîòå â Visual Basic .NET, íåîáõîäèìî èçó÷èòü îñîáåí- íîñòè Windows-ïðèëîæåíèé è îñâîèòü êëþ÷åâûå ïðèíöèïû, ëåæàøèå â îñíîâå îáúåêòíî-îðèåíòèðîâàííîãî ïðîãðàììèðîâàíèÿ (ÎÎÏ). Windows — ñèñòåìà, îðèåíòèðîâàííàÿ íà èñïîëüçîâàíèå ñîáûòèé. Ýòî çíà÷èò, ÷òî êàæäîå äåéñòâèå â ñèñòåìå âûçûâàåò ñîáûòèå, êîòîðîå â âèäå ñîîáùåíèÿ ïå- ðåäàåòñÿ â ïðèëîæåíèå. Ïðèëîæåíèå àíàëèçèðóåò åãî è, â ñâîþ î÷åðåäü, âûïîë- íÿåò ñîîòâåòñòâóþùèå äåéñòâèÿ. Ðàíåå ðàçðàáîòêà Windows-ïðèëîæåíèé áûëà ñîïðÿæåíà ñ îãðîìíûìè òðóäíî- ñòÿìè, ïîñêîëüêó òðåáîâàëîñü ïèñàòü áîëüøèå îáúåìû êîäà, ñîçäàþùåãî êíîïêè, ìåíþ, ñïèñêè, ïîëîñû ïðîêðóòêè è äðóãèå ýëåìåíòû èíòåðôåéñà. Êðîìå òîãî, ïðîãðàììèñò äîëæåí áûë ïîëíîñòüþ, «ñ íóëÿ», ïèñàòü êîä, îáðàáàòûâàþùèé äåé- ñòâèÿ ïîëüçîâàòåëÿ (íàæàòèå êíîïîê, âûáîð êîìàíä ìåíþ, ïåðåìåùåíèå ïî äîêó- ìåíòó ñ ïîìîùüþ ïîëîñ ïðîêðóòêè è ò. ï.). Ñèòóàöèÿ çíà÷èòåëüíî óëó÷øèëàñü ñ ïîÿâëåíèåì îáúåêòíî-îðèåíòèðîâàííûõ ÿçûêîâ, îáëåã÷àþùèõ ñîçäàíèå óïðàâëÿåìûõ ñîáûòèÿìè ïðèëîæåíèé, ê ÷èñëó êîòîðûõ îòíîñÿòñÿ è ïðèëîæåíèÿ äëÿ Windows. Ïðîãðàììèñòû ïîëó÷èëè âîç- ìîæíîñòü ìàíèïóëèðîâàòü îáúåêòàìè ïîëüçîâàòåëüñêîãî èíòåðôåéñà (ìåíþ, êî- ìàíäàìè, êíîïêàìè è äð.), îáðàáàòûâàòü ñîáûòèÿ, êîòîðûå â íåì ïðîèñõîäÿò (ùåë÷êè êíîïêîé ìûøè, íàæàòèå êëàâèø è ò. ï.).  ðåçóëüòàòå äåéñòâèå, êîòîðîå ðàíåå òðåáîâàëî ñîçäàíèÿ ïðîãðàììû èç íåñêîëüêèõ ñòðàíèö, òåïåðü ïðîãðàììè- ðóåòñÿ íåñêîëüêèìè ñòðîêàìè êîäà. Ãîâîðÿò, ÷òî èçó÷èòü îáúåêòíî-îðèåíòèðîâàííûé ÿçûê äîñòàòî÷íî ñëîæíî. Êî- íå÷íî, äëÿ ñîçäàíèÿ îáúåêòíî-îðèåíòèðîâàííûõ ïðîãðàìì òðåáóþòñÿ íåêîòîðûå ñïåöèàëüíûå íàâûêè. Îäíàêî â ñàìîé òåîðèè ÎÎÏ èìååòñÿ ðÿä êîíöåïöèé è ïî- íÿòèé, êîòîðûå çíàêîìû íàì ïî ïîâñåäíåâíîé æèçíè. Îáúåêò — ýòî íå÷òî òàêîå, ÷òî ìû ìîæåì óâèäåòü, ïîòðîãàòü ðóêàìè è èñïîëüçî- âàòü.  âèäå îáúåêòîâ ìîãóò áûòü îïèñàíû ðàçëè÷íûå æèâûå è íåæèâûå ïðåäìåòû ðåàëüíîãî ìèðà, òàêèå êàê àâòîìîáèëü, êðåäèòíàÿ êàðòî÷êà èëè, ñêàæåì, ñîòðóäíèê ïðåäïðèÿòèÿ. Îáúåêòû, êîòîðûå ïðèìåíÿþòñÿ â îáúåêòíî-îðèåíòèðîâàííûõ ïðî- ãðàììàõ, ìîãóò ïðåäñòàâëÿòü êíîïêè, ìåíþ è äðóãèå ýëåìåíòû èíòåðôåéñà, ôàé- ëû, íàáîðû äàííûõ. Ëþáîé îáúåêò îáëàäàåò ñâîéñòâàìè è, êàê ãîâîðÿò â ÎÎÏ, èìååò ìåòîäû, îïðåäå- ëÿþùèå åãî ïîâåäåíèå. Ñâîéñòâà — ýòî õàðàêòåðèñòèêè îáúåêòà. Íàïðèìåð, åñëè âû ãîâîðèòå, ÷òî âàì íðàâèòñÿ àâòîìîáèëü BMW 720, òî îïèñûâàåòå îáúåêò (àâ- òîìîáèëü), óêàçûâàÿ íåêîòîðûå åãî õàðàêòåðèñòèêè, â äàííîì ñëó÷àå ìàðêó è ìî- äåëü. Êîíå÷íî, àâòîìîáèëü èìååò ìàññó äðóãèõ õàðàêòåðèñòèê: öâåò è òèï êóçîâà, òèï äâèãàòåëÿ è êîðîáêè ïåðåäà÷, êîëè÷åñòâî äâåðåé è ò. ä., êîòîðûå âû ìîæåòå, â çàâèñèìîñòè îò ïîñòàâëåííîé çàäà÷è, èçìåíÿòü èëè àíàëèçèðîâàòü. Ìåòîäû îáúåêòà — ýòî äåéñòâèÿ, êîòîðûå îí ìîæåò ïðîèçâîäèòü. Òàê, àâòîìîáèëü ìîæåò äâèãàòüñÿ, ÷àñû — ïîêàçûâàòü âðåìÿ è äàòó.
  • 14.  òåîðèè ÎÎÏ ñóùåñòâóåò òàêæå ïîíÿòèå êëàññà. Êëàññ ïðåäñòàâëÿåò ñîáîé øàá- ëîí, ïî êîòîðîìó ñòðîèòñÿ îáúåêò. Êàæäûé îáúåêò, ïðèìåíÿåìûé â ÎÎÏ, îáðàçî- âàí îò êàêîãî-ëèáî êëàññà. Êëàññ ñîäåðæèò, èëè, êàê ãîâîðÿò, èíêàïñóëèðóåò, âñå ñâîéñòâà è ìåòîäû îáðàçîâàííîãî îò íåãî îáúåêòà. Íàïðèìåð, êëàññ äëÿ àâòîìî- áèëÿ èíêàïñóëèðóåò âñå õàðàêòåðèñòèêè è ìåòîäû àâòîìîáèëåé, à êëàññ äëÿ ÷à- ñîâ — âñå õàðàêòåðèñòèêè è ìåòîäû ÷àñîâ. Îáúåêò, îáðàçîâàííûé îò äàííîãî êëàññà, íàçûâàþò ýêçåìïëÿðîì êëàññà. Âû äîëæíû ïîíèìàòü, ÷òî ñàì êëàññ íå ÿâ- ëÿåòñÿ îáúåêòîì. Îáúåêòîì ÿâëÿåòñÿ ýêçåìïëÿð êëàññà.  ëèòåðàòóðå, ïîñâÿùåííîé ÎÎÏ, ÷àñòî âñòðå÷àåòñÿ òåðìèí àáñòðàêöèÿ.  äàí- íîì êîíòåêñòå îí îçíà÷àåò ñîêðûòèå âíóòðåííèõ îñîáåííîñòåé îáúåêòà îò ïîëüçî- âàòåëÿ. Ýòî ïîçâîëÿåò çàùèòèòü îáúåêò îò íåæåëàòåëüíûõ èçìåíåíèé. Ïðè ýòîì ñâîéñòâà è ìåòîäû îáúåêòà îòêðûòû äëÿ äîñòóïà. Íàïðèìåð, âû ìîæåòå çàâåñòè àâòîìîáèëü èëè óñòàíîâèòü âðåìÿ íà ÷àñàõ. Òàêèì îáðàçîì, çàäà÷à àáñòðàêöèè — ïðåäîñòàâèòü äîñòóï ê òåì ñâîéñòâàì è ìåòîäàì îáúåêòà, êîòîðûå íóæíû ïîëüçî- âàòåëþ, è ñêðûòü îò íåãî äåòàëè âíóòðåííåãî óñòðîéñòâà îáúåêòà. È åùå îá îäíîì ïîíÿòèè, ñâÿçàííîì ñ ÎÎÏ. Íàñëåäîâàíèå — ýòî âîçìîæíîñòü ñîçäàâàòü îäèí êëàññ íà îñíîâå äðóãîãî. Íîâûé êëàññ, êîòîðûé íàçûâàþò ïîðîæ- äåííûì, íàñëåäóåò ñâîéñòâà è ìåòîäû èñõîäíîãî êëàññà, íàçûâàåìîãî áàçîâûì. Íàïðèìåð, åñëè ãîâîðèòü î êëàññå, îïèñûâàþùåì îïðåäåëåííóþ ìîäåëü ÷àñîâ, òî ïîðîæäåííûé îò íåãî êëàññ ìîæåò ïðåäñòàâëÿòü ìîäåëü, îáëàäàþùóþ òàêèìè æå õàðàêòåðèñòèêàìè, íî äîïîëíèòåëüíî ñíàáæåííóþ ìåõàíèçìîì áóäèëüíèêà. Ïîä- äåðæêà íàñëåäîâàíèÿ èçáàâëÿåò íàñ îò íåîáõîäèìîñòè ïðè ñîçäàíèè êëàññîâ äëÿ ïîõîæèõ îáúåêòîâ âêëþ÷àòü â êàæäûé èç íèõ âñå ñâîéñòâà è ìåòîäû, îïèñûâàþ- ùèå îáúåêò. Ìîæíî ñîçäàòü áàçîâûé êëàññ, êîòîðûé èíêàïñóëèðóåò îáùèå äëÿ ãðóïïû îáúåêòîâ ñâîéñòâà è ìåòîäû, à çàòåì îáðàçîâàòü îò íåãî íåîáõîäèìîå êî- ëè÷åñòâî ïîðîæäåííûõ êëàññîâ. Ïðè èçó÷åíèè ïðèíöèïîâ ÎÎÏ âû íàâåðíÿêà óñëûøèòå è òåðìèí ïîëèìîðôèçì. Ðå÷ü èäåò î ñïîñîáíîñòè îäíîé è òîé æå èíñòðóêöèè âûïîëíÿòüñÿ ïî-ðàçíîìó â çàâèñèìîñòè îò òèïà îáúåêòà. Íàïðèìåð, äåéñòâèå «îòêðûòü» ìîæåò ïðèìåíÿòüñÿ ïî îòíîøåíèþ ê äâåðè, îêíó è ãëàçàì, à äåéñòâèå «óñòàíîâèòü» — ïî îòíîøåíèþ êî âðåìåíè, äàòå, áóäèëüíèêó èëè, ñêàæåì, ëàìïî÷êå. Õîòÿ â êàæäîì èç ýòèõ ñëó- ÷àåâ èíñòðóêöèè, çàäàííûå ãëàãîëàìè «îòêðûòü» è «óñòàíîâèòü», îçíà÷àþò ðàç- íûå äåéñòâèÿ, óêàçàíèå èíñòðóêöèè âìåñòå ñ íàçâàíèåì îáúåêòà ïîçâîëÿåò íàì ïîíÿòü, î êàêîì äåéñòâèè èäåò ðå÷ü.  ÎÎÏ ïîëèìîðôèçì ðåàëèçóåòñÿ ïóòåì ïå- ðåãðóçêè ìåòîäîâ. Äåëàåòñÿ ýòî ñëåäóþùèì îáðàçîì. Âû ñîçäàåòå íåñêîëüêî ðåà- ëèçàöèé ìåòîäà ñ ðàçíûìè íàáîðàìè àðãóìåíòîâ. Ïðè ýòîì âñå ýòè ðåàëèçàöèè (ïåðåãðóæåííûå ìåòîäû) èìåþò îäèíàêîâûå èìåíà.  ïðîöåññå âûçîâà ìåòîäà ñðåäà Visual Basic .NET ïî êîëè÷åñòâó è òèïó ïåðåäàâàåìûõ åìó àðãóìåíòîâ ñàìà îïðåäåëÿåò, êàêîé èç ìåòîäîâ âûçâàòü. Êàê âèäèòå, âñå äîñòàòî÷íî ïðîñòî. È ìû íå õîòèì áîëåå óòîìëÿòü âàñ òåîðèåé, à ïðåäëàãàåì ïåðåéòè ê ïðàêòè÷åñêèì çàíÿòèÿì. 16 Ââåäåíèå
  • 15. Ò Å Ì À 1 Çíàêîìñòâî ñ Visual Basic .NET Ñîçäàíèå çàñòàâêè Copyright Èòàê, âû ïîñòàâèëè ïåðåä ñîáîé çàäà÷ó îñâîèòü ïðèíöèïû ðàçðàáîòêè ïðèëîæåíèé ñ ïîìîùüþ Visual Basic .NET — íîâåéøåé âåðñèè ÿçûêà ïðîãðàììèðîâàíèÿ Visual Basic êîìïàíèè Microsoft. Äàâàéòå ïðåäñòàâèì, ÷òî âàñ ïðèíÿ- ëè ïðîãðàììèñòîì-ñòàæåðîì â íåáîëüøóþ ôèðìó, ñïå- öèàëèçèðóþùóþñÿ íà âûïóñêå è òåñòèðîâàíèè ïðîãðàì- ìíûõ ïðîäóêòîâ. Íà÷àëüíèê ñðàçó æå äàåò âàì çàäàíèå: ñîçäàòü çàñòàâêó Copyright äëÿ âñåõ ïðèëîæåíèé êîìïà- íèè. Çàñòàâêà — ýòî ïåðâîå èçîáðàæåíèå, êîòîðîå ïîÿâ- ëÿåòñÿ ïîñëå çàïóñêà ïðîãðàììû è èñïîëüçóåòñÿ ñ öåëüþ óäåðæèâàòü âíèìàíèå ïîëüçîâàòåëÿ âî âðåìÿ çàãðóçêè ïðèëîæåíèÿ â ïàìÿòü. Çàñòàâêà Copyright äîëæíà áûòü ñíàáæåíà ëîãîòèïîì êîìïàíèè, îòîáðàæàòü èíôîðìà- öèþ îá àâòîðå ïðèëîæåíèÿ è âðåìåíè ñîçäàíèÿ ïðî- ãðàììû. Õîòÿ ýòî çàäàíèå íå î÷åíü ñëîæíîå, îíî ïîñëó- æèò ïðåêðàñíîé ïðàêòèêîé ïðè èçó÷åíèè îñíîâ Visual Basic .NET. Ïðè÷åì äëÿ åãî âûïîëíåíèÿ âàì íå ïîòðåáó- þòñÿ ñïåöèàëüíûå çíàíèÿ î ïðîåêòèðîâàíèè è ïðîãðàì- ìèðîâàíèè, íåîáõîäèìûå äëÿ ðàçðàáîòêè áîëüøèõ ïðè- ëîæåíèé.
  • 16. Çàíÿòèå 1 Ñîçäàíèå Windows-ïðèëîæåíèé Íà ýòîì çàíÿòèè ðàññìîòðåíû ñëåäóþùèå âîïðîñû: n çàïóñê è íàñòðîéêà èíòåãðèðîâàííîé ñðåäû ðàçðàáîòêè Visual Studio .NET; n ñîçäàíèå ðåøåíèÿ; n äîáàâëåíèå ê ðåøåíèþ ïðîåêòà Visual Basic .NET; n íàñòðîéêà ñâîéñòâ îáúåêòà; n ñîõðàíåíèå ðåøåíèÿ è âûõîä èç Visual Studio .NET. Çàïóñê è íàñòðîéêà Visual Studio .NET Äëÿ òîãî ÷òîáû ïðèñòóïèòü ê ðàáîòå, íåîáõîäèìî çàïóñòèòü Visual Studio .NET. Ýòî íîâåéøàÿ èíòåãðèðîâàííàÿ ñðåäà ðàçðàáîòêè (Integrated Development Envi- ronment, IDE), âêëþ÷àþùàÿ â ñåáÿ ÿçûêè ïðîãðàììèðîâàíèÿ Visual Basic, C++ è C#, êîòîðûå ìîæíî ïðèìåíÿòü äëÿ ñîçäàíèÿ Windows- è web-ïðèëîæåíèé. Windows-ïðèëîæåíèÿ (ê íèì îòíîñÿòñÿ ãðàôè÷åñêèå ïðîãðàììû, ñèñòåìû ââîäà äàííûõ, èãðû è ò. ä.) ñíàáæåíû èíòåðôåéñîì ïîëüçîâàòåëÿ, õàðàêòåðíûì äëÿ Windows, è çàïóñêàþòñÿ ñ ðàáî÷åãî ñòîëà êîìïüþòåðà. Web-ïðèëîæåíèÿ (ê êîòî- ðûì îòíîñÿòñÿ ïðîãðàììû, ïðåäíàçíà÷åííûå äëÿ ðàáîòû â Èíòåðíåòå è èíòðàíå- òå) èìåþò èíòåðôåéñ, ñâîéñòâåííûé Web, çàïóñêàþòñÿ ñ ñåðâåðà, è äîñòóï ê íèì îñóùåñòâëÿåòñÿ ïðè ïîìîùè áðàóçåðà. Äëÿ çàïóñêà èíòåãðèðîâàííîé ñðåäû ðàçðàáîòêè Visual Studio .NET âûïîëíèòå ñëåäóþùèå äåéñòâèÿ. 1. Îòêðîéòå ñòàðòîâîå ìåíþ Windows, ùåëêíóâ íà êíîïêå Start (Ïóñê) ïàíåëè çàäà÷. Âûáåðèòå â íåì ñíà÷àëà ïóíêò Programs (Ïðîãðàììû), à ïîòîì — ïóíêò Microsoft Visual Studio .NET.  îòêðûâøåìñÿ ïîäìåíþ àêòèâèçèðóéòå îäíîèìåí- íóþ êîìàíäó. Ïîñëå ýòîãî ïîÿâèòñÿ çàñòàâêà ñðåäû Microsoft Visual Stu- dio .NET, à çàòåì îòêðîåòñÿ îêíî Microsoft Development Environment. Ïðè íåîáõî- äèìîñòè ðàçâåðíèòå ýòî îêíî âî âåñü ýêðàí. 2. Ïîñëå çàïóñêà ïðîãðàììû íà ýêðàíå ïîÿâèòñÿ îêíî Start Page (Íà÷àëüíàÿ ñòðà- íèöà), â ëåâîé ÷àñòè êîòîðîãî áóäóò ðàñïîëîæåíû ÿðëûêè äëÿ îòêðûòèÿ ïà- íåëåé. Ùåëêíèòå íà ÿðëûêå My Profile (Ìîé ïðîôèëü), è â îêíå îòîáðàçèòñÿ îäíîèìåííàÿ ïàíåëü (ðèñ. 1.1). ÑÎÂÅÒ Åñëè ïîñëå çàïóñêà ïðîãðàììû ñòàðòîâîå îêíî íå îòîáðàæàåòñÿ, àêòèâèçèðóéòå êîìàíäó Help4Show Start Page.
  • 17. Èñïîëüçóÿ ïàíåëü My Profile, â èíòåãðèðîâàííîé ñðåäå ðàçðàáîòêè ìîæíî íàñòðàè- âàòü ðàçëè÷íûå ïàðàìåòðû ïðîãðàìì, òàêèå êàê Keyboard Sheme (Ñõåìà êëàâèàòó- ðû), Windows Layout (Ðàçìåòêà îêíà) è Help Filter (Ôèëüòð ñïðàâêè). Íàáîð ïðè- îðèòåòíûõ óñòàíîâîê íàçûâàåòñÿ ïðîôèëåì. Ñðåäà Visual Studio .NET ïðåäîñòàâ- ëÿåò ìíîæåñòâî çàðàíåå îïðåäåëåííûõ ïðîôèëåé, îñíîâíûì èç êîòîðûõ ÿâëÿåòñÿ Visual Studio Developer. Ïðè ïîäãîòîâêå ìàòåðèàëîâ è ðèñóíêîâ äàííîé êíèãè èñ- ïîëüçîâàëàñü èìåííî ýòà êîíôèãóðàöèÿ IDE. Ðèñ. 1.1. Îêíî Microsoft Development Environment 3. Åñëè ïî óìîë÷àíèþ óñòàíîâëåí èíîé ïðîôèëü, ùåëêíèòå íà ðàñêðûâàþùåì- ñÿ ñïèñêå Profile (Ïðîôèëü) è âûáåðèòå â íåì ýëåìåíò Visual Studio Developer. 4. Àêòèâèçèðóéòå êîìàíäó Tools4Options (Ñåðâèñ4Ïàðàìåòðû), ïîñëå ÷åãî íà ýêðàíå îòîáðàçèòñÿ äèàëîãîâîå îêíî Options (Ïàðàìåòðû) (ðèñ. 1.2), â êîòîðîì ìîæíî íàñòðîèòü ïðàêòè÷åñêè âñå ïàðàìåòðû ñðåäû ðàçðàáîòêè.  ïðàâîé ÷àñòè îêíà ùåëêíèòå íà ïàïêå Environment (Êîíôèãóðàöèÿ) è, ïîñëå òîãî êàê îíà îòêðîåòñÿ, íàæìèòå êíîïêó General (Îáùèå). 5. Åñëè íåîáõîäèìî, óñòàíîâèòå â îêíå Options ôëàæêè Close button affects active tab only (Êíîïêà çàêðûòèÿ îêíà äåéñòâóåò òîëüêî íà àêòèâíóþ âêëàäêó) è Auto Hide button affects active tab only (Êíîïêà àâòîìàòè÷åñêîãî ñâîðà÷èâàíèÿ äåéñò- âóåò òîëüêî íà àêòèâíóþ âêëàäêó). 6. Ùåëêíèòå íà êíîïêå ÎÊ, ïîñëå ÷åãî äèàëîãîâîå îêíî Options çàêðîåòñÿ. ÏÐÈÌÅ×ÀÍÈÅ Äëÿ òîãî ÷òîáû âåðíóòüñÿ ê ðàçìåòêå îêíà, êîòîðàÿ áûëà ïðåäëîæåíà âî âðåìÿ ïåðâîãî çà- ïóñêà èíòåãðèðîâàííîé ñðåäû ðàçðàáîòêè Visual Studio .NET, ìîæíî âîñïîëüçîâàòüñÿ êíîï- êîé Reset Window Layout, íàõîäÿùåéñÿ â îêíå Options. Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 19
  • 18. Ðèñ. 1.2. Äèàëîãîâîå îêíî Options Îêíî Start Page, êðîìå ïàíåëè My Profile, ñîäåðæèò åùå âîñåìü ïàíåëåé, àêòèâèçà- öèÿ ëþáîé èç êîòîðûõ ïðèâîäèò ê îòîáðàæåíèþ â ñòàðòîâîì îêíå ñîîòâåòñòâóþ- ùåé åé èíôîðìàöèè. Íàçíà÷åíèå âñåõ ïàíåëåé îïèñàíî â òàáë. 1.1. Òàáëèöà 1.1. Ïàíåëè îêíà Start Page Ïàíåëü Íàçíà÷åíèå Get Started Ñîçäàíèå íîâûõ è îòêðûòèå ñóùåñòâóþùèõ ïðîåêòîâ What`s New Ïðåäîñòàâëåíèå äîñòóïà ê èíôîðìàöèè íà web-óçëå êîìïàíèè Microsoft î íîâûõ ñðåäñòâàõ ñðåäû Visual Studio .NET è çàãðóçêà îáíîâëåííûõ âåðñèé ïðîãðàìì IDE Visual Studio Online Community Ñâÿçü ñ ðàçðàáîò÷èêàìè â èíòåðàêòèâíîì ðåæèìå Headlines Ïðîñìîòð ññûëîê â ïîèñêàõ ïîñëåäíèõ íîâîñòåé èç áèáëèîòåêè MSDN Online Library íà web-óçëå www.msdn.microsoft.com. Ýòî ôàêòè÷åñêè íàèáîëüøèé èíôîðìàöèîííûé óçåë â íàçâàííîé îáëàñòè, ãäå ðàçìåùåíû îôèöèàëüíàÿ äîêóìåíòàöèÿ, ó÷åáíûå ïîñîáèÿ è web-ñåìèíàðû Search Online Ïîèñê â áèáëèîòåêå MSDN Online Library Downloads Ïðåäîñòàâëåíèå äîñòóïà ê ïîñëåäíèì îáíîâëåíèÿì ïðîäóêòà è îáðàçöàì ïðîãðàìì XML Web Services Ïîèñê ãîòîâûõ web-ñëóæá äëÿ âêëþ÷åíèÿ â ïðèëîæåíèå è ïðåäîñòàâëåíèå âîçìîæíîñòè ïóáëèêîâàòü ñâîè Web Hosting Ïëàòíîå ðàçìåùåíèå web-ïðèëîæåíèé íà ñåðâåðàõ, ïðåäîñòàâëÿåìûõ èíòåðíåò-ïðîâàéäåðàìè My Profile Íàñòðîéêà ïàðàìåòðîâ ñðåäû IDE Ïðåæäå ÷åì ïðèñòóïèòü ê ñîçäàíèþ ïðèëîæåíèÿ, ìû ðàññìîòðèì âîçìîæíîñòè, êîòîðûå ïðåäîñòàâëÿåò â íàøå ðàñïîðÿæåíèå ïàíåëü Get Started. 20 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
  • 19. 1. Ùåëêíèòå íà ÿðëûêå Get Started â îêíå Start Page, ñ òåì ÷òîáû îòêðûòü îäíî- èìåííóþ ïàíåëü (ðèñ. 1.3). Åñëè â ñðåäå Visual Studio .NET óæå ðàáîòàëè, ïà- íåëü áóäåò ñîäåðæàòü ñïèñîê âûçâàííûõ ðàíåå ðåøåíèé. Ðèñ. 1.3. Ïàíåëü Get Started â îêíå Start Page Êðîìå ñòàðòîâîãî îêíà èíòåãðèðîâàííàÿ ñðåäà ðàçðàáîòêè Visual Studio .NET ñî- äåðæèò åùå ïÿòü îêîí (íà ðèñ. 1.3 íåêîòîðûå èç íèõ ïðåäñòàâëåíû ÿðëûêàìè). Íàçíà÷åíèå êàæäîãî îêíà êðàòêî îïèñàíî â òàáë. 1.2. Òàáëèöà 1.2. Îïèñàíèå îêîí, âêëþ÷åííûõ â IDE Îêíî Îïèñàíèå Class View Îòîáðàæàåò êëàññû, ìåòîäû è ñâîéñòâà, âêëþ÷åííûå â òåêóùåå ðåøåíèå Dynamic Help Ñîäåðæèò ññûëêè íà êîíòåêñòíî-çàâèñèìóþ ñïðàâêó Server Explorer Äåìîíñòðèðóåò ðåñóðñû ñåðâåðîâ, ê êîòîðûì âîçìîæåí äîñòóï ïî ñåòè ñ äàííîãî êîìïüþòåðà Solution Explorer Îòîáðàæàåò èìåíà ïðîåêòîâ è ôàéëîâ, âêëþ÷åííûõ â òåêóùåå ðåøåíèå Start Page Ïðåäñòàâëÿåò ñîáîé ñòàðòîâóþ ñòðàíèöó Toolbox Îáåñïå÷èâàåò äîñòóï ê ýëåìåíòàì óïðàâëåíèÿ, êîòîðûå ìîæíî èñïîëüçîâàòü ïðè ñîçäàíèè ïðîåêòà Äàëåå íà ýòîì çàíÿòèè âû íàó÷èòåñü ðàáîòàòü ñ îêíàìè Solution Explorer è Dynamic Help, îá îêíå Toolbox ðå÷ü ïîéäåò íà ñëåäóþùåì çàíÿòèè. À âîçìîæíîñòè, ïðåäîñ- òàâëÿåìûå îêíàìè Server Explorer è Class View, â ýòîé êíèãå íå ðàññìàòðèâàþòñÿ. Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 21
  • 20. Íàïîìíèì, ÷òî ñåé÷àñ íàøà çàäà÷à çàêëþ÷àåòñÿ â ðàçðàáîòêå ïðîñòîãî ïðèëîæå- íèÿ — çàñòàâêè Copyright. Ñîçäàíèå ðåøåíèÿ äëÿ çàñòàâêè Copyright Ïðèñòóïàÿ ê ðàçðàáîòêå ïðèëîæåíèÿ, íåîáõîäèìî ñíà÷àëà ñîçäàòü ïóñòîå ðåøå- íèå Visual Studio .NET, à çàòåì äîáàâèòü â íåãî îäèí èëè íåñêîëüêî ïðîåêòîâ. Ðå- øåíèå — ýòî êîíòåéíåð, â êîòîðîì õðàíÿòñÿ ïðîåêòû è ôàéëû âñåãî ïðèëîæåíèÿ. Ïðîåêò — ýòî òàêæå êîíòåéíåð, íî â íåì ðàçìåùàþòñÿ ôàéëû, îòíîñÿùèåñÿ ê îï- ðåäåëåííîé ÷àñòè ïðèëîæåíèÿ. ×òîáû âàì áûëî ïîíÿòíî, ïðîâåäåì ñëåäóþùóþ àíàëîãèþ. Äîïóñòèì, ÷òî ðåøå- íèå — ýòî ñåêöèÿ â áëîêå êàðòîòåêè. Òîãäà ïðîåêò ïðåäñòàâëÿåò ñîáîé ïàïêó, êî- òîðàÿ ïîìåùåíà â òàêóþ ñåêöèþ, à ôàéë, â ñâîþ î÷åðåäü, ñîîòâåòñòâóåò äîêóìåí- òó, ëåæàùåìó â ïàïêå.  ñåêöèè ìîæåò áûòü ðàñïîëîæåíî íåñêîëüêî ïàïîê, òî÷íî òàê æå ðåøåíèå ìîæåò ñîäåðæàòü íåñêîëüêî ïðîåêòîâ. Êðîìå òîãî, äîïóñòèìî, ÷òîáû â ïàïêå íàõîäèëîñü áîëüøîå êîëè÷åñòâî äîêóìåíòîâ; àíàëîãè÷íûì îáðà- çîì, â ïðîåêòå ìîæåò õðàíèòüñÿ ìíîæåñòâî ôàéëîâ. Ñîçäàòü ïóñòîå ðåøåíèå Visual Studio .NET ìîæíî ïóòåì àêòèâèçàöèè êîìàíäû File4New4Blank Solution (Ôàéë4Íîâûé4Ïóñòîå ðåøåíèå) èëè âûáîðà íà ñòàí- äàðòíîé ïàíåëè èíñòðóìåíòîâ êíîïêè New Blank Solution (Íîâîå ïóñòîå ðåøåíèå). Åñëè ýòà êíîïêà íå îòîáðàæàåòñÿ, îòêðîéòå ñïèñîê New Project (Ñîçäàòü ïðîåêò), ðàñïîëîæåííûé íà ñòàíäàðòíîé ïàíåëè èíñòðóìåíòîâ ñëåâà, è âûáåðèòå â íåì ýëåìåíò New Blank Solution. Ëþáîå èõ ýòèõ äåéñòâèé ïðèâåäåò ê ïîÿâëåíèþ íà ýê- ðàíå äèàëîãîâîãî îêíà New Project (Íîâûé ïðîåêò), êîòîðûå âû âèäèòå íà ðèñ. 1.4. Ïåðåéäåì ê ïðàêòè÷åñêîé ðåàëèçàöèè çàäà÷è. Äëÿ ýòîãî âû äîëæíû âûïîëíèòü ñëåäóþùèå äåéñòâèÿ. 1. Ëþáûì èç ïåðå÷èñëåííûõ âûøå ñïîñîáîâ âûçîâèòå äèàëîãîâîå îêíî New Project. Ïîñëå òîãî êàê îíî îòîáðàçèòñÿ íà ýêðàíå, â ñïèñêå Project Types (Òèï ïðîåêòà) ýòîãî îêíà áóäåò âûäåëåí ýëåìåíò Visual Studio Solutions, à â ñïèñêå Templates (Øàáëîíû) — øàáëîí Blank Solution. Ñîîáùåíèå, íàõîäÿùååñÿ ïîä ñïèñêîì Project Types, óêàçûâàåò, ÷òî äàííûé øàáëîí ñîçäàåò ïóñòîå ðåøåíèå, íå ñîäåðæàùåå ïðîåêòîâ. Øàáëîíîì íàçûâàþò îáðàçåö, êîòîðûé èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ðåøåíèé è ïðîåêòîâ â ñðåäå Visual Studio .NET. Êàæäûé øàáëîí, âêëþ÷åííûé â ñïèñîê Templates, ñîäåðæèò íàáîð ñòàíäàðòíûõ ïàïîê è ôàéëîâ, ñîîòâåòñòâóþùèõ ðå- øåíèþ èëè ïðîåêòó. Íàïðèìåð, â øàáëîí Blank Solution âõîäÿò îäíà ïàïêà è äâà ôàéëà. 2. Çàìåíèòå èìÿ â ïîëå Name èìåíåì Copyright Solution. Ïðè íåîáõîäèìîñòè âîñ- ïîëüçóéòåñü êíîïêîé Browse, êîòîðàÿ ðàñïîëàãàåòñÿ ñïðàâà îò òåêñòîâîãî ïî- ëÿ Location, è âûáåðèòå ïàïêó VBNETTut01 (ðèñ. 1.4). Îáðàòèòå âíèìàíèå íà òî, ÷òî íàä êíîïêîé Less â äèàëîãîâîì îêíå ïîÿâèòñÿ ñîîá- ùåíèå, óêàçûâàþùåå, ÷òî ðåøåíèå áóäåò ñîçäàíî â ïàïêå C:VBNETTut01Copyright Solution. Åñëè êíîïêà Less íå îòîáðàæàåòñÿ, ùåëêíèòå íà êíîïêå More. 22 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
  • 21. Ðèñ. 1.4. Äèàëîãîâîå îêíî New Project èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ïóñòîãî ðåøåíèÿ 3. Çàêðîéòå äèàëîãîâîå îêíî New Project ùåë÷êîì íà êíîïêå ÎÊ. Ïîñëå ýòîãî íà æåñòêîì äèñêå êîìïüþòåðà áóäåò ñîçäàíî ïóñòîå ðåøåíèå, à â îêíå Solution Explorer (Ïðîâîäíèê ðåøåíèé), ïîêàçàííîì íà ðèñ. 1.5, ïîÿâÿòñÿ çàäàííîå èìÿ ðåøåíèÿ, Copyright Solution, è ñâåäåíèÿ î êîëè÷åñòâå ñîäåðæàùèõñÿ â íåì ïðî- åêòîâ — 0. Ðèñ. 1.5.  îêíå Solution Explorer îòîáðàæàåòñÿ èìÿ ïóñòîãî ðåøåíèÿ Ïîÿâëåíèå èìåíè ðåøåíèÿ â îêíå Solution Explorer îçíà÷àåò, ÷òî ðåøåíèå îòêðûòî è â íåãî ìîæíî âíîñèòü èíôîðìàöèþ. Ïîñëå òîãî êàê ìû ïðèìåíèëè øàáëîí Blank Solution, ñðåäà Visual Studio .NET àâ- òîìàòè÷åñêè ñîçäàëà íà æåñòêîì äèñêå êîìïüþòåðà îäíó ïàïêó è äâà ôàéëà. Ýòîé ïàïêå ïî óìîë÷àíèþ ïðèñâàèâàåòñÿ òî æå èìÿ, ÷òî è ðåøåíèþ (â íàøåì ñëó÷àå — Copyright Solution). Äâà ôàéëà, õðàíÿùèåñÿ â äàííîé ïàïêå, èìåþò òàêèå æå èìåíà, Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 23
  • 22. íî ðàçíûå ðàñøèðåíèÿ: .sln (solution — ðåøåíèå) è .suo (solution user options — ïà- ðàìåòðû ïîëüçîâàòåëÿ ðåøåíèÿ).  ïåðâîì õðàíÿòñÿ ññûëêè íà ïðîåêòû è ôàéëû, âêëþ÷åííûå â ðåøåíèå, à âî âòîðîé (ñêðûòûé) çàïèñûâàþòñÿ ïàðàìåòðû, óñòà- íîâëåííûå äëÿ ðåøåíèÿ. ÏÐÈÌÅ×ÀÍÈÅ ×òîáû ïðîñìîòðåòü èìåíà ñêðûòûõ ôàéëîâ, çàïóñòèòå Windows Explorer (Ïðîâîäíèê), ùåëê- íèòå íà ìåíþ Tools (Ñåðâèñ) â ñòðîêå ìåíþ, à çàòåì çàäàéòå êîìàíäó Folder Options (Ñâîéñòâà ïàïêè). Êîãäà íà ýêðàíå ïîÿâèòñÿ îäíîèìåííîå îêíî, îòêðîéòå âêëàäêó View (Âèä), â ñïèñêå äîïîëíèòåëüíûõ ïàðàìåòðîâ äëÿ ýëåìåíòà Hidden files and folders (Ñêðûòûå ôàéëû è ïàïêè) âûáåðèòå ïîëîæåíèå ïåðåêëþ÷àòåëÿ Show hidden files and folders (Ïîêàçûâàòü ñêðûòûå ôàé- ëû è ïàïêè) è ùåëêíèòå íà êíîïêå ÎÊ. Èòàê, ïóñòîå ðåøåíèå ñîçäàíî, è òåïåðü ê íåìó ìîæíî äîáàâëÿòü ïðîåêòû. Èõ êî- ëè÷åñòâî çàâèñèò îò ñëîæíîñòè ðàçðàáàòûâàåìîãî ïðèëîæåíèÿ — ïðîñòûì ïðè- ëîæåíèÿì òðåáóåòñÿ îäèí ïðîåêò, à ñëîæíûå îáû÷íî âêëþ÷àþò íåñêîëüêî ïðîåê- òîâ. Ïîñêîëüêó íàøà çàñòàâêà Copyright îòíîñèòñÿ ê ïðîñòûì ïðèëîæåíèÿì, ïîòðåáóåòñÿ îäèí ïðîåêò, êîòîðûé áóäåò ñîçäàí ñ ïîìîùüþ Visual Basic .NET. Íîâûé ïðîåêò äîáàâëÿåòñÿ ê òåêóùåìó ðåøåíèþ ïîñðåäñòâîì êîìàíäû File4Add Project4New Project (Ôàéë4Äîáàâèòü ïðîåêò4Íîâûé ïðîåêò). Íî ìîæíî èñïîëü- çîâàòü è äðóãèå ñïîñîáû, íàïðèìåð ùåëêíóòü ïðàâîé êíîïêîé ìûøè íà èìåíè ðå- øåíèÿ â îêíå Solution Explorer èëè îòêðûòü êîíòåêñòíîå ìåíþ è âûçâàòü â íåì êî- ìàíäó Add4New Project; ìîæíî òàêæå ïðîèçâåñòè ùåë÷îê íà êíîïêå New Project ïàíåëè Get Started â ñòàðòîâîì îêíå ëèáî íà îäíîèìåííîé êíîïêå ñòàíäàðòíîé ïà- íåëè èíñòðóìåíòîâ. Äîáàâüòå íîâûé ïðîåêò Visual Basic .NET ê òåêóùåìó ðåøåíèþ. Äåëàåòñÿ ýòî ñëå- äóþùèì îáðàçîì. 1. Ùåëêíèòå ïðàâîé êíîïêîé ìûøè íà ñòðîêå Solution 'Copyright Solution' (0 pro- jects) â îêíå Solution Explorer. Âûáåðèòå â ïîÿâèâøåìñÿ êîíòåêñòíîì ìåíþ êî- ìàíäó Add4New Project, è íà ýêðàíå îòîáðàçèòñÿ îêíî Add New Project. 2.  ñïèñêå Project Types ïåðå÷èñëåíû ðàçëè÷íûå òèïû ïðîåêòîâ, êîòîðûå ìîæíî äîáàâëÿòü ê ðåøåíèþ. Âûáåðèòå â ýòîì ñïèñêå ýëåìåíò Visual Basic Projects, åñ- ëè îí íå âûäåëåí. 3. Ñïèñîê Templates ñîäåðæèò ïåðå÷åíü øàáëîíîâ ïðîåêòîâ, äîñòóïíûõ â Visual Basic .NET. Âûáåðèòå â ñïèñêå ýëåìåíò Windows Application. Ýòîò øàáëîí ïîä- õîäèò äëÿ ðåøåíèÿ íàøåé çàäà÷è, ïîñêîëüêó ïðèëîæåíèå ýêðàíà Copyright äîëæíî áûòü ñíàáæåíî Windows-èíòåðôåéñîì ïîëüçîâàòåëÿ. 4.  ïîëå Name óêàæèòå èìÿ Copyright Project. 5. Óáåäèòåñü, ÷òî â òåêñòîâîì ïîëå Location óêàçàí ïóòü ê ïàïêå Copyright Solution. Ïîñëå âûïîëíåíèÿ âñåõ îïèñàííûõ äåéñòâèé äèàëîãîâîå îêíî Add New Project äîëæíî âûãëÿäåòü òàê, êàê ïîêàçàíî íà ðèñ. 1.6. Îáðàòèòå âíèìàíèå: ïîä ïî- ëåì Location â îêíå íàõîäèòñÿ ñîîáùåíèå, óêàçûâàþùåå, ÷òî ïðîåêò áóäåò ñîç- äàí â ïàïêå C:VBNETTut01Copyright SolutionCopyright Project. Êàê âû óæå çíàåòå, øàáëîí ñîäåðæèò íàáîð ñòàíäàðòíûõ ïàïîê è ôàéëîâ. Ïî- ñëå ùåë÷êà íà êíîïêå ÎÊ â îêíå Add New Project ïàïêè è ôàéëû, âêëþ÷åííûå â øàáëîí Windows Application, áóäóò àâòîìàòè÷åñêè ñîçäàíû íà æåñòêîì äèñêå êîìïüþòåðà. 24 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
  • 23. Ðèñ. 1.6. Äèàëîãîâîå îêíî Add New Project 6. Çàêðîéòå îêíî Add New Project, ùåëêíóâ íà êíîïêå ÎÊ. Òåïåðü íîâûé ïðîåêò Visual Basic .NET Windows Application áóäåò äîáàâëåí ê òåêóùåìó ðåøåíèþ. Êðîìå òîãî, â îêíå Solution Explorer îòîáðàçèòñÿ èìÿ ïðîåêòà — Copyright Project, à òàêæå äðóãàÿ îòíîñÿùàÿñÿ ê íåìó èíôîðìàöèÿ (ðèñ. 1.7). Ðèñ. 1.7. Íîâûé ïðîåêò Visual Basic .NET äîáàâëåí ê ðåøåíèþ Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 25
  • 24. Êàê âèäèòå, êðîìå øåñòè îêîí, î êîòîðûõ ìû óæå ãîâîðèëè, â ñðåäå ðàçðàáîòêè îòîáðàçèëèñü äâà íîâûõ — Designer è Properties. Êîíå÷íî, ñ òàêèì êîëè÷åñòâîì îò- êðûòûõ îêîí ðàçîáðàòüñÿ íåïðîñòî, îñîáåííî åñëè âû íîâè÷îê. Ðàáîòàòü ñ IDE áóäåò ïðîùå, åñëè âû çàêðîåòå èëè ñâåðíåòå îêíà, êîòîðûå â äàííûé ìîìåíò íå èñïîëüçóåòå.  ñëåäóþùåì ðàçäåëå ìû ðàññêàæåì, êàê óïðàâëÿòü îêíàìè â èíòåã- ðèðîâàííîé ñðåäå ðàçðàáîòêè. Óïðàâëåíèå îêíàìè â èíòåãðèðîâàííîé ñðåäå ðàçðàáîòêè Ñàìûé ïðîñòîé ñïîñîá çàêðûòü îòêðûòîå îêíî â IDE — ùåëêíóòü íà êíîïêå Close â ñòðîêå çàãîëîâêà îêíà. Íî ýòî ìîæíî ñäåëàòü è äðóãèìè ñïîñîáàìè: ïðîèçâåñòè ùåë÷îê ïðàâîé êíîïêîé ìûøè íà ñòðîêå çàãîëîâêà îêíà, à çàòåì âûáðàòü â êîí- òåêñòíîì ìåíþ êîìàíäó Hide (Ñêðûòü) ëèáî âûçâàòü èç ãëàâíîãî ìåíþ êîìàíäó Window4Hide (Îêíî4Ñêðûòü). Îòêðûòü îêíà òîæå íå ñîñòàâëÿåò òðóäà — â áîëüøèíñòâå ñëó÷àåâ ñîîòâåòñòâóþ- ùèå êîìàíäû ìîæíî íàéòè â ìåíþ View (Âèä). Òàê, îêíî Toolbox (Ïàíåëü èíñòðó- ìåíòîâ) âûçûâàåòñÿ êîìàíäîé View4Toolbox. Îäíàêî ó÷òèòå, ÷òî êîìàíäû, óïðàâ- ëÿþùèå îòêðûòèåì îêîí Start Page è Dynamic Help, ðàñïîëîæåíû â ìåíþ Help, à íå â ìåíþ View. Äëÿ ñîêðûòèÿ îêîí òàêæå ñóùåñòâóåò íåñêîëüêî âîçìîæíîñòåé: ïîñðåäñòâîì ðàñ- ïîëîæåííîé â ñòðîêå ìåíþ îêíà êíîïêè Auto Hide (Àâòîìàòè÷åñêè ñêðûâàòü), ùåë÷êîì ïðàâîé êíîïêè ìûøè íà çàãîëîâêå îêíà ñ ïîñëåäóþùèì âûáîðîì êî- ìàíäû Auto Hide â êîíòåêñòíîì ìåíþ ëèáî ñ ïîìîùüþ êîìàíäû Window4Auto Hide. Åñëè ïîñëå ýòîãî âû ïåðåìåñòèòå óêàçàòåëü ìûøè çà ïðåäåëû îêíà, îíî áóäåò ïðåäñòàâëåíî â âèäå ÿðëûêà, ðàñïîëîæåííîãî ó ëåâîãî èëè ïðàâîãî êðàÿ îêíà IDE. Ïðè ýòîì êíîïêà, íàõîäÿùàÿñÿ â ñòðîêå çàãîëîâêà îêíà, áóäåò çàìåíåíà äðó- ãîé êíîïêîé, ñâèäåòåëüñòâóþùåé î òîì, ÷òî îêíî ñâåðíóòî. Äëÿ âðåìåííîãî îòî- áðàæåíèÿ ñâåðíóòîãî îêíà íóæíî ïîìåñòèòü óêàçàòåëü ìûøè íà ÿðëûê. Åñëè æå òðåáóåòñÿ, ÷òîáû îêíî îòîáðàæàëîñü ïîñòîÿííî, ñëåäóåò ùåëêíóòü íà êíîïêå â ñòðîêå åãî çàãîëîâêà. ßðëûêè ñâåðíóòûõ îêîí Server Explorer è Toolbox ïðåäñòàâ- ëåíû íà ðèñ. 1.7. Äî íà÷àëà âûïîëíåíèÿ ñëåäóþùèõ çàäàíèé âàì ñëåäóåò çàêðûòü îêíà Server Exp- lorer, Start Page, Class View è Dynamic Help, ïîñêîëüêó äëÿ ñîçäàíèÿ ýêðàíà Copyright îíè íå ïîíàäîáÿòñÿ. Êðîìå òîãî, âû äîëæíû íàó÷èòüñÿ ñêðûâàòü è îòîáðàæàòü îêíî Solution Explorer. 1. Ïîìåñòèòå óêàçàòåëü ìûøè íà ÿðëûê Server Explorer, êîòîðûé îáû÷íî ðàñïîëà- ãàåòñÿ ó ëåâîé ãðàíèöû îêíà IDE. Êîãäà îäíîèìåííîå îêíî îòîáðàçèòñÿ íà ýê- ðàíå (ïðåæäå ÷åì îíî òàì ïîÿâèòñÿ, ìîæåò ïðîéòè íåñêîëüêî ñåêóíä), ùåëê- íèòå íà êíîïêå Close â ñòðîêå åãî çàãîëîâêà. 2. Ùåëêíèòå íà ÿðëûêå Start Page, ÷òîáû àêòèâèçèðîâàòü îäíîèìåííîå îêíî, à çàòåì — íà êíîïêå Close â ñòðîêå çàãîëîâêà ýòîãî îêíà. 3. Ïîâòîðèòå äåéñòâèÿ, óêàçàííûå â ïóíêòå 2, ÷òîáû çàêðûòü îêíî Class View. Òåïåðü çàêðîåì îêíî Dynamic Help, â êîòîðîì îòîáðàæàþòñÿ ññûëêè íà êîíòåêñò- íî-çàâèñèìóþ ñïðàâêó è ïîäñêàçêè, êàñàþùèåñÿ òåêóùèõ îïåðàöèé. Êîãäà ýòî îêíî îòêðûòî, âû èìååòå âîçìîæíîñòü óäîáíîãî äîñòóïà ê ñïðàâî÷íîé ñèñòåìå 26 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
  • 25. â IDE. Îäíàêî íåîáõîäèìî ó÷èòûâàòü, ÷òî äëÿ ïîñòîÿííîãî îáíîâëåíèÿ äàííîãî îêíà òðåáóþòñÿ äîïîëíèòåëüíûå ðåñóðñû, à ýòî ìîæåò ñêàçàòüñÿ íà ïðîèçâîäè- òåëüíîñòè âàøåãî êîìïüþòåðà. 4. Ùåëêíèòå íà ÿðëûêå Dynamic Help, ÷òîáû àêòèâèçèðîâàòü îäíîèìåííîå îêíî, à ïîòîì — íà êíîïêå Close â ñòðîêå åãî çàãîëîâêà. 5. Ïðîèçâåäèòå ùåë÷îê íà êíîïêå Auto Hide â ñòðîêå çàãîëîâêà îêíà Solution Explo- rer, à çàòåì ïåðåìåñòèòå óêàçàòåëü ìûøè çà ïðåäåëû îêíà.  ðåçóëüòàòå ýòîãî îêíî áóäåò ìèíèìèçèðîâàíî è ïðèìåò âèä ÿðëûêà, ðàñïîëîæåííîãî íà ïðà- âîì êðàþ îêíà IDE. ÑÎÂÅÒ Åñëè ïîñëå òîãî êàê âû óáåðåòå óêàçàòåëü ìûøè çà ïðåäåëû îêíà Solution Explorer, îíî îñòà- íåòñÿ íà ýêðàíå, ïîâòîðèòå ùåë÷îê íà ñòðîêå åãî çàãîëîâêà. Òåïåðü âðåìåííî îòîáðàçèì îêíî Solution Explorer. 6. Ïîìåñòèòå óêàçàòåëü ìûøè íà ÿðëûê Solution Explorer, è îäíîèìåííîå îêíî ïîÿâèòñÿ íà ýêðàíå. 7. Ïåðåìåñòèòå óêàçàòåëü ìûøè çà ïðåäåëû äàííîãî îêíà. Îêíî Solution Explorer ìèíèìèçèðóåòñÿ è âíîâü áóäåò ïðåäñòàâëåíî íà ýêðàíå òîëüêî ÿðëûêîì. ×òîáû îêíî Solution Explorer ïîñòîÿííî îòîáðàæàëîñü íà ýêðàíå, îòêëþ÷èì äëÿ íåãî ñðåäñòâî Auto Hide. 8. Ïîìåñòèòå óêàçàòåëü ìûøè íà ÿðëûê Solution Explorer. Êîãäà îòîáðàçèòñÿ îä- íîèìåííîå îêíî, ùåëêíèòå íà êíîïêå Auto Hide, íàõîäÿùåéñÿ â ñòðîêå çàãî- ëîâêà, â ðåçóëüòàòå ÷åãî âíåøíèé âèä êíîïêè èçìåíèòñÿ. 9. Ïåðåìåñòèòå óêàçàòåëü ìûøè çà ïðåäåëû îêíà Solution Explorer. Îêíî âñå ðàâíî áóäåò îòîáðàæàòüñÿ íà ýêðàíå. Îáðàòèòå âíèìàíèå, ÷òî â äàííûé ìîìåíò íà ýêðàíå îòêðûòû íå âîñåìü, à òîëüêî ÷åòûðå îêíà.  ñëåäóþùèõ ðàçäåëàõ ìû ïîäðîáíî ðàññìîòðèì îêíà Windows Form Designer, Solution Explorer è Properties. Îêíà Windows Form Designer è Solution Explorer Îêíî Windows Form Designer, ïîêàçàííîå íà ðèñ. 1.8, ïðåäîñòàâëÿåò âîçìîæíîñòü ïðîåêòèðîâàòü èíòåðôåéñ ïîëüçîâàòåëÿ. Ïîêà â îêíå íàõîäèòñÿ òîëüêî îáúåêò Windows Form.  âåðõíåé ÷àñòè óïîìÿíóòîãî îêíà ðàñïîëàãàåòñÿ âêëàäêà Form1.vb [Design]. Çäåñü òåêñò, çàêëþ÷åííûé â êâàäðàòíûå ñêîáêè, îáîçíà÷àåò, ÷òî ýòî îêíî êîíñòðóêòîðà Windows-ôîðì, à ïåðâàÿ ÷àñòü íàçâàíèÿ — Form1.vb — èìÿ ôàéëà, â êîòîðîì ñîäåðæèòñÿ íåîáõîäèìàÿ äëÿ ïîñòðîåíèÿ îáúåêòà Windows Form ïðî- ãðàììà, ñîçäàííàÿ ñ ïîìîùüþ Visual Basic .NET. Èìÿ ôàéëà Form1.vb îòîáðàæàåò- ñÿ òàêæå â îêíàõ Solution Explorer è Properties. Ðàññìîòðèì ïîêàçàííûé â îêíå Windows Form Designer îáúåêò Windows Form. Îí ïðåäñòàâëÿåò ñîáîé ôîðìó, íà áàçå êîòîðîé â Windows-ïðèëîæåíèÿõ ðàçðàáàòû- âàåòñÿ ïîëüçîâàòåëüñêèé èíòåðôåéñ. Ïðè ñîçäàíèè èíòåðôåéñà âû áóäåòå äîáàâ- ëÿòü â íåå êíîïêè, ïîëÿ ââîäà è äðóãèå îáúåêòû.  âåðõíåé ÷àñòè ôîðìû ðàñïîëà- ãàåòñÿ ñòðîêà çàãîëîâêà, ãäå íàõîäÿòñÿ çàãîëîâîê, â äàííîì ñëó÷àå Form1, à òàêæå ñòàíäàðòíûå êíîïêè ñâîðà÷èâàíèÿ, ðàçâîðà÷èâàíèÿ è çàêðûòèÿ îêíà. Êðîìå òîãî, Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 27
  • 26. äëÿ îáëåã÷åíèÿ ïðîöåññà âûðàâíèâàíèÿ îáúåêòîâ â îáëàñòè ôîðìû îòîáðàæàåòñÿ ñåòêà, êîòîðàÿ ïðè ðàáîòå ïðèëîæåíèÿ áóäåò ñêðûòà. Ðèñ. 1.8. Îêíî Windows Form Designer ÏÐÈÌÅ×ÀÍÈÅ Îáúåêò Windows Form ÿâëÿåòñÿ ÷ëåíîì îäíîèìåííîãî êëàññà. Êëàññ, â ñâîþ î÷åðåäü, ïðåä- ñòàâëÿåò ñîáîé øàáëîí, íåîáõîäèìûé äëÿ ñîçäàíèÿ ýêçåìïëÿðà îáúåêòà. Òåïåðü ïåðåéäåì ê îïèñàíèþ îêíà Solution Explorer. Çäåñü ïðåäñòàâëåí ñïèñîê ñî- äåðæàùèõñÿ â êîíêðåòíîì ðåøåíèè ïðîåêòîâ è ýëåìåíòîâ êàæäîãî ïðîåêòà. Îêíî Solution Explorer, âêëþ÷àþùåå òàêîé ñïèñîê äëÿ ðåøåíèÿ íàøåé çàäà÷è — ñîçäàíèÿ çàñòàâêè Copyright, ïîêàçàíî íà ðèñ. 1.9. Ðèñ. 1.9. Îêíî Solution Explorer ñ îòêðûòîé ïàïêîé References 28 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET
  • 27. Êàê âèäíî íà ðèñóíêå, ðåøåíèå Copyright Solution ñîäåðæèò îäèí ïðîåêò, íàçûâàþ- ùèéñÿ Copyright Project.  íåì íàõîäÿòñÿ ïàïêà References ñ íåîáõîäèìîé äëÿ äàí- íîãî ïðîåêòà èíôîðìàöèåé è äâà ôàéëà — AssemblyInfo.vb è Form1.vb. Ðàññìîòðèì ñîäåðæèìîå ïàïêè References. Äëÿ ýòîãî íóæíî ùåëêíóòü íà çíà÷êå «+» ðÿäîì ñ äàííîé ïàïêîé, ïîñëå ÷åãî åå ñîäåðæèìîå áóäåò îòîáðàæåíî íà ýêðàíå.  ïàïêå References ðàñïîëàãàþòñÿ ññûëêè, ÿâëÿþùèåñÿ ïðîñòî àäðåñàìè ÿ÷ååê ïà- ìÿòè êîìïüþòåðà. Êàæäàÿ ññûëêà óêàçûâàåò íà ïðîñòðàíñòâî èìåí, êîòîðîå ìîæ- íî ïðåäñòàâëÿòü â âèäå áëîêà ÿ÷ååê ïàìÿòè. Ïðîñòðàíñòâî èìåí ñîäåðæèò îïåðà- òîðû, îïðåäåëÿþùèå ãðóïïó ñâÿçàííûõ êëàññîâ. Íàïðèìåð, ïðîñòðàíñòâî èìåí System.Windows.Forms âêëþ÷àåò îïðåäåëåíèå êëàññà Windows Form, èñïîëüçóþùåãîñÿ äëÿ ñîçäàíèÿ (èíèöèàëèçàöèè) ýêçåìïëÿðà îáúåêòà Windows Form. Åñëè â ïðîåêòå ñîäåðæèòñÿ ññûëêà íà ïðîñòðàíñòâî èìåí, òî ïðè ñîçäàíèè îáúåêòîâ îí ìîæåò èñ- ïîëüçîâàòü êëàññû, îïðåäåëåííûå â ýòîì ïðîñòðàíñòâå èìåí. Íàïîìíèì, ÷òî â ïðîåêòå Copyright Project íàõîäÿòñÿ òàêæå äâà ôàéëà ñ èìåíàìè AssemblyInfo.vb è Form1.vb. Îíè ÿâëÿþòñÿ èñõîäíûìè ôàéëàìè, òî åñòü òàêèìè, â êîòîðûõ ðàñïîëàãàåòñÿ êîä ïðîãðàììû.  ïåðâîì èç óïîìÿíóòûõ ôàéëîâ õðà- íèòñÿ ïðîãðàììà, íåîáõîäèìàÿ äëÿ èíñòàëëÿöèè è êîíôèãóðèðîâàíèÿ ïðîåêòà. Ôàéë Form1.vb â òåêóùèé ìîìåíò ñîäåðæèò êîä, ïðåäíàçíà÷åííûé äëÿ èíèöèàëè- çàöèè îáúåêòà Windows Form, ïðåäñòàâëåííîãî â îêíå êîíñòðóêòîðà. Êîãäà âû äîáà- âèòå â ôîðìó îáúåêòû (êíîïêè, ïîëÿ ââîäà è ò. ä.), â ýòîì ôàéëå áóäóò àâòîìàòè- ÷åñêè ñîçäàíû èíèöèàëèçèðóþùèå èõ ïðîãðàììû. Êðîìå òîãî, ôàéë Form1.vb ñîäåðæèò îïåðàòîðû, êîòîðûå ââîäÿòñÿ â ðåäàêòîðå êîäà (î òîì, êàê ðàáîòàòü ñ äàí- íûì ðåäàêòîðîì, ìû ðàññêàæåì â çàíÿòèè 3 ýòîé òåìû). Ïîìèìî ïàïêè References è äâóõ èñõîäíûõ ôàéëîâ, ïðîåêò Copyright Project âêëþ- ÷àåò äðóãèå ôàéëû è ïàïêè. Ñåé÷àñ èìåíà ýòèõ ôàéëîâ è ïàïîê íå îòîáðàæàþòñÿ â îêíå Solution Explorer, îäíàêî èõ ìîæíî âûâåñòè íà ýêðàí ïîñðåäñòâîì êíîïêè Show All Files, ðàñïîëîæåííîé íà ïàíåëè èíñòðóìåíòîâ äàííîãî îêíà. ×òîáû ïðîñìîòðåòü äîïîëíèòåëüíûå ïàïêè è ôàéëû, ñîäåðæàùèåñÿ â ïðîåêòå, âûïîëíèòå ñëåäóþùèå äåéñòâèÿ. 1. Ñâåðíèòå îêíî Properties, íàæàâ êíîïêó Auto Hide â ñòðîêå åãî çàãîëîâêà, à çà- òåì ïåðåìåñòèâ óêàçàòåëü ìûøè çà ïðåäåëû îêíà. Òåïåðü îêíî Solution Explorer çàéìåò áîëüøóþ ÷àñòü ýêðàíà. 2. Àêòèâèçèðóéòå êíîïêó Show All Files íà ïàíåëè èíñòðóìåíòîâ îêíà Solution Explorer è ùåëêíèòå ìûøüþ íà âñåõ çíà÷êàõ «+» (ðèñ. 1.10). Êíîïêà Show All Files äåéñòâóåò ïîäîáíî ïåðåêëþ÷àòåëþ: ùåëêíóâ íà íåé ìîæíî îòîáðàçèòü èëè óáðàòü ñ ýêðàíà ïàïêè è ôàéëû. 3. Ñíîâà íàæìèòå êíîïêó Show All Files, è èìåíà äîïîëíèòåëüíûõ ôàéëîâ è ïàïîê áóäóò ñêðûòû. 4. Ùåëêíèòå íà çíà÷êå «–» ðÿäîì ñ ïàïêîé References, äëÿ òîãî ÷òîáû ñêðûòü èìåíà ññûëîê. 5. Ïîìåñòèòå óêàçàòåëü ìûøè íà âêëàäêó Properties è, êîãäà îòîáðàçèòñÿ îäíî- èìåííîå îêíî, íàæìèòå êíîïêó Auto Hide. Ïîñëå ýòîãî îêíî áóäåò ïðèñóòñòâî- âàòü íà ýêðàíå ïîñòîÿííî. Çàíÿòèå 1. Ñîçäàíèå Windows-ïðèëîæåíèé 29
  • 28. Ðèñ. 1.10. Äîïîëíèòåëüíûå ïàïêè è ôàéëû, îòîáðàæåííûå â îêíå Solution Explorer Êàê âû óæå çíàåòå, êîä, ñîçäàþùèé ôîðìó Windows Form, õðàíèòñÿ â èñõîäíîì ôàé- ëå íà æåñòêîì äèñêå, ïîýòîìó äàííûé ôàéë íàçûâàåòñÿ ôàéëîì ôîðìû. Êîä, îò- íîñÿùèéñÿ ê ïåðâîìó îáúåêòó ôîðìû, ñîçäàííîìó â ïðîåêòå, àâòîìàòè÷åñêè ñî- õðàíÿåòñÿ â ôàéëå ôîðìû ñ èìåíåì Form1.vb. Êîä, ñâÿçàííûé ñî âòîðûì îáúåêòîì Windows Form ýòîãî æå ïðîåêòà, ñîäåðæèòñÿ â ôàéëå ñ èìåíåì Form2.vb è ò. ä. Ïî- ñêîëüêó ïðîåêò ìîæåò âêëþ÷àòü â ñåáÿ ìíîæåñòâî îáúåêòîâ Windows Form è, ñëåäî- âàòåëüíî, ñòîëüêî æå ôàéëîâ, èìååò ñìûñë ïðèñâàèâàòü ôàéëàì ôîðìû áîëåå èí- ôîðìàòèâíûå èìåíà. Èçìåíèòü èìÿ ôàéëà ìîæíî ïîñðåäñòâîì îêíà Properties. Îêíî Properties Ôàéë ôîðìû â ëþáîì îáúåêòíî-îðèåíòèðîâàííîì ÿçûêå ÿâëÿåòñÿ îáúåêòîì. Êà- æäûé îáúåêò â Visual Basic .NET èìååò ìíîæåñòâî ñâÿçàííûõ ñ íèì õàðàêòåðè- ñòèê, êîòîðûå íàçûâàþòñÿ ñâîéñòâàìè. Ñâîéñòâà, îïðåäåëÿþùèå âèä è ïîâåäåíèå îáúåêòà, ïåðå÷èñëåíû â îêíå Properties. Ïðè ñîçäàíèè îáúåêòà êàæäîìó åãî ñâîé- ñòâó ïðèñâàèâàåòñÿ çíà÷åíèå ïî óìîë÷àíèþ. Íàïðèìåð, â îêíå Properties, èçîáðà- æåííîì íà ðèñ. 1.11, âû âèäèòå çíà÷åíèÿ, ïðèñâîåííûå ñâîéñòâàì ôàéëà ôîðìû Form1.vb. Êàê âèäèòå, â îêíå Properties íàõîäÿòñÿ ïîëå Object (ýòî ïîëå, êîòîðîå ñîäåðæèò èìÿ îáúåêòà) è ïàíåëü c ïåðå÷íåì ñâîéñòâ îáúåêòà è ñîîòâåòñòâóþùèõ èì çíà÷åíèé. Ïîñëå âûáîðà îáúåêòà â îêíå Solution Explorer åãî èìÿ è ñâîéñòâà îòîáðàæàþòñÿ â îêíå Properties. Èìÿ îáúåêòà (â äàííîì ñëó÷àå èìÿ ôàéëà ôîðìû Form1.vb) ïîÿâ- ëÿåòñÿ â ïîëå Object, ðàñïîëîæåííîì ïîä ñòðîêîé çàãîëîâêà îêíà, à ñïèñîê ñâîéñòâ, îòñîðòèðîâàííûõ â àëôàâèòíîì ïîðÿäêå ëèáî ïî êàòåãîðèÿì, îòîáðàæàåòñÿ â äâóõ ñòîëáöàõ. Ëåâûé ñòîëáåö ñîäåðæèò âñå ñâÿçàííûå ñ âûäåëåííûì îáúåêòîì ñâîéñòâà, à ïðàâûé — èõ òåêóùèå çíà÷åíèÿ. Íàïðèìåð, êàê ñëåäóåò èç ðèñ. 1.11, ñâîéñòâî Build Action èìååò çíà÷åíèå Compile. Êðîìå òîãî, â íèæíåé ÷àñòè îêíà 30 Òåìà 1. Çíàêîìñòâî ñ Visual Basic .NET