Professional Documents
Culture Documents
Laptrinhgiaodien C#
Laptrinhgiaodien C#
2.
Khi nim v cc tng (tier) trong vic pht trin phn mm ......................... 7
1.2.
1.3.
1.4.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
Chng II:
1.
2.
Cc c im ca ngn ng C# ........................................................................... 29
3.
4.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
4.2.
Bin: .............................................................................................................. 38
5.2.
Hng: ............................................................................................................. 39
6.
Ton t ................................................................................................................. 39
7.
8.
9.
7.1.
Cu lnh if n .............................................................................................. 39
7.2.
Cu lnh if y ......................................................................................... 40
7.3.
7.4.
Cu trc lp .......................................................................................................... 44
8.1.
8.2.
8.3.
8.4.
8.5.
X l ngoi l ....................................................................................................... 48
9.1.
9.2.
9.3.
9.4.
9.5.
Chng III:
1.
2.
Lp (class) ............................................................................................................ 57
3.
4.
5.
6.
7.
9.
10.
K tha ................................................................................................................. 65
Chng IV:
1.
2.
3.
Form ..................................................................................................................... 69
1.1.
1.2.
1.3.
1.4.
1.5.
Controls ................................................................................................................ 76
2.1.
2.2.
2.3.
2.4.
Cc controls c bn .............................................................................................. 84
3.1.
Label .............................................................................................................. 84
3.2.
TextBox ......................................................................................................... 85
3.3.
Button ............................................................................................................ 85
3.4.
CheckBox ...................................................................................................... 86
3.5.
RadioButton .................................................................................................. 86
3.6.
PictureBox ..................................................................................................... 87
3.7.
Tooltip ........................................................................................................... 88
3.8.
NumericUpDown .......................................................................................... 89
3.9.
4.
5.
5.2.
ComboBox .................................................................................................... 94
5.3.
ImageList ....................................................................................................... 94
ListView ........................................................................................................ 96
5.5.
TreeView ....................................................................................................... 99
6.
7.
8.
9.
10.
10.1.
10.2.
10.3.
10.4.
10.5.
10.6.
11.
11.1.
11.2.
11.3.
Chng V:
1.
2.
1.2.
1.3.
1.4.
Chng VI:
1.
1.2.
1.3.
1.4.
2.
1.5.
1.6.
2.2.
2.3.
2.4.
2.5.
Chng VII:
1.
2.
3.
1.2.
1.3.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
Chng VIII:
ha .................................................................................................. 174
1.
2.
3.
4.
5.
6.
6.2.
6.3.
6.4.
6.5.
6.6.
6.7.
6.8.
2.2.1. CLR:
- CLR l thnh phn kt ni gia cc phn khc trong .NET Framework vi h iu
hnh.Mt chng trnh vit bng ngn ng trong .NET, khng c bin dch ra
m my m n c bin dch ra mt ngn ng trung gian Microsoft Intermediate
Language (MSIL). Khi chy chng trnh, CLR s dch MSIL ra m my thc
thi cc tnh nng, m bo ng dng khng chim dng v s dng trn lan ti
nguyn ca h thng. N cng khng cho php cc lnh nguy him c thi hnh.
Cc chc nng ny c thc thi bi cc thnh phn bn trong CLR nh Class
loader,Just In Time compiler, Garbage collector, Exception handler, COM
marshaller, Security engine,
- Mt my tnh c ci t .NET Framework c th chy bt k mt chng trnh
.NET no. Trong cc phin bn h iu hnh Windows mi nh XP.Net v
Windows 2003, CLR c gn km vi h iu hnh. iu ny m bo ng dng
vit ra trn my tnh ca bn s chy trn cc my tnh khc m khng cn ci t.
10
11
12
13
14
15
- Thanh Toolbox: Cha cc control c t chc thnh cc nhm chc nng, gip
ngi s dng thao tc mt cch trc quan thit k giao din bng cch ko th
cc control ln Form
16
17
18
Sau khi bin dch, nu khng c li, kt qu bin dch xut hin dng ch Build
Succeeded
19
20
21
Trang StartPage: cha mt danh sch cc lin kt n cc ngun ti nguyn Visual Studio
2010 IDE v ngun ti nguyn trn web.Cc lin kt c t chc thnh cc thnh phn:
Recent Projects, Get Started, Latest News, Guidance and Resources c cha lin kt n
ThS. Nguyn Th Mai Trang
22
23
24
- Thay i cc thuc tnh khc, bin dch, chy li chng trnh, nhn xt.
- T ca s Toolbox, chn iu khin Label, ko th ln form
25
26
27
Chng II:
NGN NG LP TRNH C#
MC TIU
28
29
30
31
32
33
34
35
- V d s dng Struct
36
Kt qu:
37
5. Bin, Hng
5.1. Bin:
- Bin l mt vng nh lu tr mt gi tr tm thi vi mt kiu d liu no
- Bin phi c khi to trc khi s dng
- Khai bo: [ modifier ] datatype identifier ;
modifier: t kha public, private, protected, ch nh mc truy cp ca bin,
nu khng c t kha pha trc, mc nh l private
datatype: kiu d liu
identifier: tn bin
V d:
int number;
double radius = 5.0;
- Tm vc ca bin:
Bin khai bo bn trong phng thc th c phm vi trong phng thc , gi
l bin cc b, khng th truy xut trong cc phng thc khc.
Bin khai bo bn trong thn ca mt lp th c phm vi l lp , c th truy
xut trong cc phng thc thuc lp.
Trong mt phm vi hot ng (scope), khng th c hai bin cng tn
V d:
38
- V d:
if ( grade >= 60 )
Console.WriteLine( "Passed" );
39
7.2. Cu lnh if y
- C php:
if (boolean_exp)
statement1
else
statement2
- V d:
if ( grade >= 60 )
Console.WriteLine( "Passed" );
else
Console.WriteLine( "Failed" );
40
Ta nn vit:
if (grade >= 90)
Console.WriteLine (A);
else if (grade >= 80)
41
42
Trong mt khi lnh if hoc else, nu cha t hai cu lnh, phi t trong cp
ngoc
{
}.
V d:
if ( grade >= 60 )
Console.WriteLine( "Passed" );
else
{
Console.WriteLine( "Failed" );
Console.WriteLine( "You must take this course again!" );
7.4. Cu lnh switch
- C php:
switch (testValue)
{
case <compareVal1>:
code to execute if testValue = compareVal1
break;
case <compareVal2>:
code to execute if testValue = compareVal2
break;
...
case <compareValN>:
code to execute if testValue = compareValN
break;
[default]:
code to execute if testValue != compareVals
break;
}
- V d:
43
8. Cu trc lp
8.1. Vng lp for
- C php:
for ( initialization; loopCondition; increment )
statement
Initialization: bin chy c khi to gi tr
loopCondition: iu kin lp
true: thc hin lnh trong statement
false: thot khi vng lp
increment: bc lp
- V d:
for ( int counter = 1; counter <=10; counter ++)
Console.Write({0}, counter ++);
44
45
46
47
48
49
50
51
khng
lm
pht
sinh
ngoi
V d:
52
- Ta c th vit li nh sau:
53
54
Chng III:
55
56
ngha
Public
C th truy xut t mi ni
private (default)
57
Protected
58
59
60
- Np chng phng thc khi to: L xy dng cc phng thc khi to khc tham
s
- Phng thc khi to sao chp: khi gn gi tr cho i tng mi bng cch sao
chp d liu ca i tng cng kiu tn ti.
61
Cch s dng:
Hinhtron ht =new Hinhtron ();
ht.Bankinh = 10; //li
int bk = ht.Bankinh;
- Thuc tnh c v ghi: cho php truy xut d liu c hai mc c v ghi, s
dng t kha get, set
Cch s dng:
Hinhtron ht =new Hinhtron ();
ht.Bankinh = 10;
int bk = ht.Bankinh;
62
63
64
10. K tha
- L c ch cho php nh ngha mt lp mi (cn gi l lp dn xut - drived class)
da trn mt lp c sn (cn gi l lp c s - base class), sau xy dng thm
cc thuc tnh v cc phng thc ring ca lp .
65
M t
C rng
Lp Ch
Hnh ng
Bit sa
Bit chy
M t
C m
Lp Chim
Hnh ng
Bit ht
Bit bay
66
67
68
Chng IV:
69
70
71
72
- Sau khi click nt Add, ca s xut hin cho php ta chn form c k tha:
73
- C th to nhanh form k tha bng cch to form bnh thng ri hiu chnh trong
phn code view ca form:
74
75
2. Controls
2.1. Thm cc control vo Form
- S dng hp cng c Toolbox ko th cc control ln form trong mi trng
thit k giao din.
- Hp cng c Toolbox: Cung cp danh sch cc control lit k theo nhm, cho php
thit k giao din giao tip vi ngi dng.
- hin th hp cng c ToolBox, ta thc hin mt trong cc cch sau:
T menu View, chn Toolbox
Chn biu tng
trn thanh cng c
S dng t hp phm: Ctrl+W + X
- b sung mt control ln form, ta ko th biu tng ca control trc tip ln
form:
76
MouseMove: Xy ra khi ngui dng di chuyn chut qua vng lm vic ca control
MouseUp: Nhn chut trn control ri th ra
MouseDown: Nhn chut trn control
Move: Xy ra khi di chuyn control bng m hay s dng chut
- Sp xp cc control:
S dng menu Format
77
dng
thanh
cng
trn
ca
Properties
- nh v cc control:
S dng code: c th thit lp kch thc v v tr control thng qua cc thuc
tnh Size, Location, Top, Left, Width, Height
V d:
TextBox1. Location = new Point (100,50);
//v tr im gc trn tri ca textbox c ta (100,50)
78
79
Thay i kch thc form: textbox cng t thay i kch thc theo cc hng rng
buc:
80
81
82
- X l cc s kin ca control:
Click chut phi trn control, chn Properties
Double click ln s kin trn tab Event trn ca s Properties
83
3. Cc controls c bn
3.1. Label
- L loi control c dng trnh by vn bn dng tnh, thng dng ch
gii cho cc iu khin khc
84
85
3.4. CheckBox
- L loi control cho php ngi s dng cng mt thi im c th chn nhiu la
chn
- Mt s thuc tnh ng ch :
Checked: True/False (c chn/ khng chn)
CheckState:
Checked
Unchecked,
Indeterminate
- Bin c mc nh: CheckedChanged
3.5. RadioButton
- Tng t CheckBox, nhng c s dng trong trng hp ch cho php chn mt
trong cc la chn
86
- Bin c mc nh:
3.6. PictureBox
- L loi control cho php hin th hnh nh (BMP, JPEG, GIF, PNG, metafile, icon)
- Mt s thuc tnh
Image: i tng Image hin th hnh
SizeMode:
AutoSize: t ng thay i kch thc theo nh
CenterImage: nh nm gia PictureBox
Normal: bnh thng
StretchImage: nh t ng thay i kch thc theo PictureBox
Zoom: nh StretchImage, nhng t l chiu rng v cao khng thay i
- V d
Bitmap myJpeg = new Bitmap(@"E:\coffee.jpg");
pictureBox1.Image = (Image)myJpeg;
Hoc:
pictureBox1.Image = Image.FromFile(@"E:\coffee.jpg");
87
3.7. Tooltip
- L loi control dng hin th ch thch cnh cc control khi a tr chut n
control
- Mt s thuc tnh:
TooltipTitle: chui tiu Tooltip
TooltipIcon: biu tng hin th km theo chui
- S dng Tooltip
Ko biu tng Tooltip t ca s ToolBox ln Form
Hiu chnh cc thuc tnh (nu cn) trong ca s Properties
Nhp chui mun hin th thuc tnh Tooltip on ca control
88
3.8. NumericUpDown
- L loi control cho php hin th s nguyn, ngi s dng c th tng, gim khi
chng trnh thc thi
- Mt s thuc tnh
Value: gi tr hin hnh trn iu khin
Increment: gi tr mi ln tng/gim
- Bin c mc nh: ValueChanged
89
GroupBox
Panel, FlowLayoutPanel, TableLayoutPanel
TabControl
SplitContainer
- GroupBox:
Hin th mt khung bao quanh mt nhm control
C th hin th mt tiu
Khi xa mt GroupBox th cc control cha trong n b xa theo
90
- Panel:
Cha nhm cc control
Khng c tiu
C thanh cun (scrollbar)
- TabControl:
L loi control cho php th hin nhiu trang (page) trn mt form duy nht, cc
control c cng nhm chc nng thng c sp xp trong cng mt trang
Mi trang cha cc control thnh mt nhm (group), c cha tiu trang
Click vo cc tiu chuyn qua li gia cc trang
thm, xa v hiu chnh mt trang trong TabControl, ta truy cp vo thuc
tnh TabPages v thao tc trong ca s TabPage Collection Editor
91
92
- Mt s thuc tnh
Items: tp cc phn t trong danh sch
SelectedIndex: v tr phn t c chn
SelectedItem: phn t c chn
SelectedItems: tp cc phn t c chn
SelectionMode
None: khng cho php chn
One: ch cho php chn mt phn t
MultiSimple: cho php chn nhiu phn t, khng cn gi phm Ctrl, Shift
MultiExtended: cho php chn nhiu phn t, gi phm Ctrl, Shift
CheckedItems: tp cc phn t c check (CheckedListBox)
Sorted: Cho php xp th t
- Mt s phng thc
ClearSelected: b chn tt c
FindString: Tm mt chui trong ListBox bt u bi mt chui cn tm
FindStringExact: nh FindString, nhng tm chnh xc
GetSelected, GetItemChecked : cho bit phn t c chn?
SetSelected, SetItemChecked: chn mt phn t
GetItemCheckState (CheckedListBox): trng thi ang c check ca phn t
SetItemCheckState (CheckedListBox): thit lp trng thi check cho phn t
- Thm phn t vo danh sch:
list_name.Items.Add (text): thm chui text vo cui danh sch
list_name.Items.AddRange (array): thm cc phn t ca mng (array) vo
danh sch
93
5.2. ComboBox
ComboBox cng l loi control dng danh sch tng t nh ListBox, ch khc dng
thc trnh by. Ngoi ra, ComboBox cn c mt s thuc tnh ring nh:
- DropDownStyle:
Simple: hin th danh sch x xung, l s kt hp gia TextBox v ListBox
DropDown: Hin th TextBox cho php nhp vo mt chui
DropDownList: Khng cho php nhp chui vo
94
- Cc bc s dng ImageList
Ko control ImageList t ToolBox th vo Form
Thit lp kch thc ca cc nh thng qua thuc tnh ImageSize
95
96
97
- Mt s thuc tnh:
Columns: tp cc ct trong listview
Items: tp cc phn t trong listview
LargeImageList: Danh sch cc biu tng hin th trong listview ch View
=LargeIcon
SmallImageList: Danh sch cc biu tng hin th trong listview ch View
=SmallIcon
View: ch hin th ca ListView
ThS. Nguyn Th Mai Trang
98
5.5. TreeView
- L loi control trnh by danh sch phn t dng phn cp
99
100
- Thuc tnh
SelectionStart: ngy bt u danh sch chn
SelectionEnd: ngy cui danh sch chn
TodayDate: ngy hin ti (trn my tnh)
- Bin c mc nh: DateChanged
6.1.2. DateTimePicker:
- L loi control cho php chn ngy, l s kt hp ca hai control ComboBox v
MonthCalendar
- Thuc tnh:
Format: nh dng hin th
long, short, time, custom
CustomFormat:
dd: hin th 2 con s ca ngy
MM: hin th 2 con s ca thng
yyyy: hin th 4 con s ca nm
(xem thm MSDN Online)
MaxDate: gi tr ngy ln nht
MinDate: gi tr ngy nh nht
101
6.1.4. Timer:
- L loi iu khin cho php thc thi mt tc v sau mt khong thi gian
- Cc thuc tnh ca Timer:
Name: nh danh Timer
Enabled: true/false, start hoc stop timer
Interval: khong thi gian kch hot s kin tick c tnh bng mili giy
- S kin Tick: sau khong thi gian c thit lp thuc tnh Interval, mt s kin
c gi n ca s, cho php x l
6.1.5. RichTextBox:
- L loi iu khin cho php nhp vn bn tng t nh TextBox nhng cung cp
nhiu kh nng nh dng hn, c th nhp trc tip hoc ti ln t mt tp tin vn
bn dng txt, rtf, doc,...
- Mt s thuc tnh thng dng ca RichTextBox:
SelectedText: Chui vn bn c chn
SelectionFont: font ch c p dng cho phn vn bn c chn
SelectionColor: mu ch c p dng cho phn vn bn c chn
...
- Mt s phng thc:
CanFocus: kim tra trng thi RichTextBox c/khng nhn focus
CanPaste: kim tra RichTextBox c/khng th paste d liu
CanSelect
CanUndo
ThS. Nguyn Th Mai Trang
102
103
104
9. Menu
- L loi control cho php t chc cc chc nng x l ca ng dng theo nhm (cn
gi l thc n)
- T chc phn cp ca menu:
Menu
Sub menu
Menu item
105
106
107
108
109
10.3. SaveFileDialog
- Tng t OpenFileDialog, l loi hp thoi cho php lu file ln a
110
10.4. FontDialog
ThS. Nguyn Th Mai Trang
111
- X l s kin nt Apply:
112
10.5. ColorDialog
- L loi hp thoi cho php chn mu
- Cc thuc tnh:
AllowFullOpen: True/False: cho php/khng cho php ngi dng nh ngha
mt mu ty chn
FullOpen: True/False: cho php/khng cho php m hp thoi mu y
- S dng hp thoi ColorDialog:
113
10.6. FolderBrowserDialog
- L loi hp thoi cho php chn th mc
- Cc thuc tnh:
Description: chui hin th trn hp thoi
SelectedPath: ng dn th mc c chn
ShowNewFolderButton: True/False: hin th/ khng nt to th mc
- S dung hp thoi FolderBrowserDialog:
114
115
S dng Properties:
116
117
118
119
120
- Cc bc to ng dng MDI:
To form cha (MDI parent form)
Thit k form con ty theo yu cu ca ng dng, c th b sung cc menu trong
cc form con ny
B sung vo form cha mt New menu item c th gi cc form con (child
form)
Trn (merge) v sp xp cc menu ca form cha v form con
Gi form con trong s kin click ca menu New
- V d xy dng ng dng MDI
121
form
cha
(main
form):
122
Bin dch v chy ng dng, click nhiu ln ln menu New (hoc Ctrl+N), ta s
thy kt qu nh sau:
123
Bin dch li, chy ng dng, ta thy trn menu ca ng dng xut hin c hai
menu File ca form cha v form con:
Cch hin th nh trn hon ton khng hp l, do , ta phi thc hin thao tc
trn cc mc menu li vi nhau, thc hin nh sau:
Trn child form, thit lp li cc thuc tnh menu:
ThS. Nguyn Th Mai Trang
124
Sp xp cc child form: khi m nhiu form con, d dng thao tc, ta cn phi
sp xp li cc form con, thc hin nh sau:
Trn form FrmMain, b sung thm cc menu item
o Windows (Name: menuWindow, Text: &Windows)
o Windows, Cascade
Name: menuCascade
125
126
127
Chng V:
Nm bt v x l cc s kin t bn phm
Nm bt v x l cc s kin t chut
1. S kin bn phm (Keyboard)
1.1. Gii thiu
- Khi ngi dng nhn hoc nh mt phm trn ca s chng trnh, chng trnh s
nhn c cc s kin, ng dng s gi cc hm x l tng ng vi cc s kin
va pht sinh.
- Trong mt ng dng Windows Form, cc s kin v phm bao gm:
KeyPress: xy ra khi phm c nhn, sau s kin KeyDown v trc s kin
KeyUp
KeyDown: xy ra khi mt phm c nhn
KeyUp: xy ra khi mt phm c nh
128
129
130
131
Hm x l:
132
133
134
135
136
Vit code x l:
137
138
Chng VI:
MNG CHUI
MC TIU
M t, khi to v s dng thnh tho kiu d liu mng trong lp trnh
M t, khi to v s dng thnh tho cc kiu d liu tp hp trong .Net
M t, khi to v s dng thnh tho kiu d liu chui trong lp trnh
S dng thnh tho lp StringBuilder khi thao tc ng vi chui
1. Mng
1.1. Gii thiu v mng
- Mng l mt tp hp c th t ca nhng i tng c cng mt kiu d liu.
- Cc phn t trong mng c truy xut theo tn v v tr, ch s bt u bng zero.
V d: mng s nguyn c tn l c, gm 12 phn t:
- Trong C#, mng l kiu d liu tham chiu, c xem l mt i tng bao
gm cc phng thc, thuc tnh
- C nhiu loi mng: mng mt chiu, mng nhiu chiu,
- Trong ngn ng C#, nhng i tng Array l i tng ca kiu System.Array
- Cc thuc tnh c bn ca class Array:
Length: thuc tnh chiu di ca mng
ThS. Nguyn Th Mai Trang
139
140
141
142
- Khai bo mng hai chiu hnh ch nht theo c php: type[ , ] array-name;
V d:
int [ , ] arrInt = new int [2,3];
//khai bo v cp pht vng nh cho mng s nguyn arrInt hai hng, ba ct
int [ , ] arrInt = { { 1, 2 }, { 3, 4 } };
//khai bo v khi tr cho mng s nguyn arrInt hai hng, hai ct
int [ , ] arrInt = new int [ , ] { {1,2}, {3,4}, {5,6}, {7,8}};
143
- Zagged array: l mng hai chiu, trong mi hng l mt mng v kch thc
cc phn t trong mi hng l khng bng nhau. Vi kiu mng ny, cc hng phi
c khai bo tng minh.
144
145
Kt qu
146
1.6.4. Lp Stack:
- L loi danh sch m cc phn t c t chc nh mt ngn xp theo th t LIFO
(LastIn First Out)
- Thao tc thm phn t vo Stack v ly phn t ra khi Stack u c thc hin
ti mt u ca danh sch.
- V d s dng Stack:
147
1.6.5. Lp Queue:
- L loi danh sch m cc phn t c t chc nh mt ngn xp theo th t FIFO
(First In First Out)
- Cc phn t c thm vo cui danh sch v c ly ra t u danh sch
- V d s dng Queue:
148
2. Chui (String)
2.1. Gii thiu
- Chui l mt dy cc k t Unicode lin tip nhau trong b nh v khng th thay
i. V vy, cc phng thc p dng ln chui khng lm thay i ni dung bn
thn chui gc m ch c th tr v mt chui mi.
- Trong .NET, chui l kiu d liu tham chiu, mi chui l mt i tng ca lp
string.
- .Net Framework cn cung cp lp System.String l lp c thit k lu tr
chui, bao gm cc phng thc v thuc tnh, trong c rt nhiu cc phng
thc static cho php ngi lp trnh c th thao tc v x l chui mt cch d dng.
- Mt s k hiu chui c bit:
K hiu \ : thng t trc cc k t c bit hin th chng, nh:
149
V d:
K hiu @:
Dng t trc tn bin khi tn bin trng vi t kha trong C#.
V d:
o Thay v vit:
string path = D:\\Baitap;
o Ta c th vit:
string path = @D:\Baitap;
o Thay v vit:
string literalTwo = "Line One\nLine Two";
150
151
152
153
2.4.3. Ni chui:
- S dng ton t +
- S dng String.Concat (string s1, string s2)
- V d:
154
155
2.4.7. Loi b chui con trong chui: s dung phng thc Remove
- Remove (int index)
156
157
158
2.5. Lp StringBuilder
Lp String cung cp rt nhiu phng thc cho php x l chui, tuy nhin vn hn
ch do khng th thay i ng ni dung v kch thc chui. khc phc nhc im
ny ca lp string, .Net Framework cung cp lp StringBuilder cho php to, thao tc v
x l i vi chui khi chng trnh thc thi.
- Khai bo v khi to i tng StringBuilder::
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder(int leng)
StringBuilder sb = new StringBuilder(string s)
StringBuilder sb = new StringBuilder(string s, int leng)
...
- Mt s thuc tnh ca class StringBuilder:
159
160
161
162
163
164
Chng VII:
LM VIC VI FILE V TH MC
MC TIU
165
Delete: Xa file
Exists: kim tra s tn ti ca file
GetCreationTime: tr v i tng DateTime l thi im file c to
GetLastAccessTime: tr v i tng DateTime l ln cui cng truy cp file
GetLastWriteTime: tr v i tng DateTime l ln cui cng cp nht ni
dung file
Move: di chuyn file
Open: m file
OpenRead: m file ch c
OpenText: m file vn bn
OpenWrite: m file ghi
1.3. Lp Directory:
- Mt s phng thc ca class Directory:
CreateDirectory: to th mc
Delete: Xa th mc
Exists: kim tra s tn ti ca th mc
GetCreationTime: tr v i tng DateTime l thi im th mc c to
GetLastAccessTime: tr v i tng DateTime l ln cui cng truy cp th
mc
GetLastWriteTime: tr v i tng DateTime l ln cui cng cp nht ni
dung th mc
Move: di chuyn th mc
2. Lm vic vi file v th mc
2.1. c, ghi tp tin nh phn:
- S dng lp c s Stream. Lp Stream c rt nhiu phng thc nhng quan trng
nht l nm phng thc Read(), Write(), BeginRead(), BeginWrite() v Flush().
- Thc hin nh sau:
To i tng Stream c hoc ghi
S dng phng thc File.OpenRead c v File.OpenWrite ghi vo tp
tin
V d:
166
167
File.GetCreationTime("file_name");
File.GetLastAccessTime("file_name");
File.GetAttributes("file_name");
File. GetLastWriteTime ( "file_name");
168
Vit code:
169
170
3. Serialization
mt qu trnh chuyn i mt cu trc d liu hoc i tng thnh mt
nh dng c th lu tr c vo file, b nh, hoc vn chuyn thng qua mng.
V d: ta c th to mt i tng hnh trn v v trn giao din chng trnh, sau
lu thnh file.
- Deserialization:qu trnh phc hi d liu lu trong file tr li trng thi ban u. V
d: c file lu i tng hnh trn trc , v li trn giao din.
-
Serialize l
171
172
173
Chng VIII: HA
MC TIU
Trnh by c cc thnh phn quan trng trong th vin GDI+ c s dng
v
S dng cc i tng thuc lp Graphics v ng, v v t mu cc i tng
hnh hc, hin th vn bn v hnh nh.
Dng chut v
1. Gii thiu th vin GDI+
- GDI + c pht trin t GDI (Graphics Device Inteface), ch c trong .Net
Framework.
- GDI + l mt th vin cung cp cc lp:cho php lm vic vi cc i tng
ha 2D, v v t mu i tng, hin th vn bn, hnh nh v thc hin cc php
bin i nh rt hiu qu.
- Th vin .NET Framework cha cc lp lin quan n thao tc v trong
namespace: System.Drawing
- GDI+ cung cp cc lp th vin cho php thc hin tin trnh v, bao gm cc
bc:
- Xc nh phm vi (b mt) v
H thng ta :
174
- Mt s i tng GDI:
Color: l mt cu trc d liu th hin mu sc, l s kt hp gia 4 gi tr:
AGRB
R: Red
G: Green
B: Blue
A: Alpha: trong sut ca mu.
Gi tr mi thnh phn t 0-255
o Mu 24 bt: RGB: 28282828 = 224 bt
o Mu 32 bt: ARGB: 28282828 = 232 bt
ThS. Nguyn Th Mai Trang
175
176
177
3. Lm vic vi cc i tng ha
3.1. Brushes
Brushes l i tng c s dng t mu vng bn trong ca hnh, t mu vn bn,
c nh ngha trong khng gian tn:
System.Drawing: Brushes, SolidBrush
ThS. Nguyn Th Mai Trang
178
179
180
- V d:
181
- Cc kiu WrapMode:
182
183
184
185
V d s dng Pens:
186
5. Fonts
- Windows h tr hai loi phng ch: GDI fonts v device fonts.
- Device fonts c ngun gc t cc thit b u ra nh mn hnh, my in,
- GDI fonts c lu tr trong cc tp tin trn h thng, thng cha trong th mc
Windows\Fonts.
- Mi font c tp tin ring, v d, Arial, Arial Black, Arial Bold, Arial Italic, Italic
Arial Black, Arial Bold Italic, Arial Narrow, Italic Arial Narrow Bold, v Arial
Narrow Italic,
187
- Th vin GDI+ cung cp cc lp font cho php thit lp font ch khi xut vn bn
l Font v FontFamily
- class FontFamily: cung cp cc loi font ch c nh ngha sn s dng trong
kt xut vn bn, lp ny cha cc thuc tnh nh
Name: tn font ch
Families: mng cha tt c cc font families trong thit b ng cnh
- class Font: l lp cho php to i tng font ch vi mt s thuc tnh nh kiu
ch (m, nghing, gch di,...), kch thc,... class Font cung cp kh nhiu
phng thc khi to to mt i tng Font, trong , mt s phng thc
thng c s dng nh:
Font (FontFamily, Single)
Font (String, Single)
Font (FontFamily, Single, FontStyle)
Font (String, Single, FontStyle)
- V d:
188
6. V, t mu cc i tng
6.1. V ng thng:
- public static DrawLine (Pen pen, Point pStart, Point pEnd)
- V d:
189
- public static DrawEllipse (Pen pen, int x, int y, int width, int height)
- public static DrawEllipse (Pen pen, Rectangle rect)
- V d:
190
6.4. V a gic:
- public static DrawPolygon ( Pen pen, Point [] points )
- V d:
6.5. V nh (Image)
- .Net Framework cung cp lp Image cho php trnh by hnh nh.
- Mt s phng thc quan trong ca lp Image:
191
192
6.6. T mu i tng:
S dng cc phng thc Fill... ca lp Graphics. Cc phng thc Fill c c php
tng t nh cc phng thc Draw... tng ng, ch khc tham s u tin. Vi phng
thc Draw (ngoi tr phng thc DrawString), tham s u tin l i tng Pen, cn
phng thc Fill, tham s u tin l i tng Brush.
V d:
193
194
195
196