You are on page 1of 21

Chng 6

Xy dng giao din ng dng bng Visual Studio


6.0 Dn nhp
6.1 Tng qut v xy dng ng dng bng VS .Net
6.2 Mt s i tng giao din thng dng
6.3 Hiu chnh thuc tnh cc i tng giao din
6.4 S kin - Hm x l s kin
6.5 Qui trnh in hnh vit 1 ng dng bng VC#
6.6 Th d vit ng dng gii phng trnh bc 2
6.7 Kt chng
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 1

6.0 Dn nhp

Chng ny gii thiu cc i tng giao din ph dng, qui trnh


to/xa/hiu chnh thuc tnh ca i tng cng nh to hm x
l s kin cho 1 s s kin quan tm trn i tng giao din.
Chng ny cng gii thiu qui trnh in hnh xy dng
chng trnh c giao din ha c thit k trc quan (thay v
phi vit code kh khn).

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 2

6.1 Tng qut v xy dng ng dng bng VS .Net


Mt trong cc yu cu quan trng ca cc ng dng hin nay l phi
c tnh thn thin cao, gn gi vi ngi dng. tha mn yu cu
ny, ng dng thng s hot ng ch ha trc quan.
Cc class cu thnh chng trnh dng giao din ha c chia
lm 2 nhm chnh :
Cc class miu t cc i tng giao din vi ngi dng nh
Form, Button, TextBox, Checkbox,... Nhim v ca cc i tng
ny l gip ngi dng c th tng tc d dng, trc quan vi
chng trnh nhp/xut d liu, iu khin/gim st hot
ng ca chng trnh. Cc i tng ny cn che du mi chi
tit v thut gii v d liu bn trong chng trnh, ngi dng
khng cn quan tm n chng.
Cc class miu t cc chc nng cn thc hin ca chng trnh.
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 3

6.1 Tng qut v xy dng ng dng bng VS .Net

Vit code tng minh c t cc i tng giao din l 1 cng


vic rt kh khn v tn nhiu cng sc, thi gian.
gim nh cng sc c t cc i tng giao din, cc mi
trng lp trnh trc quan (nh Visual Studio .Net) vit sn 1
s i tng giao din thng dng v cung cp cng c ngi
lp trnh thit k trc quan giao din ca ng dng bng cch tch
hp cc i tng giao din c sn ny : ngi lp trnh ng vai
tr ha s v/hiu chnh kch thc, di chuyn v tr cc phn t
giao din cn cho ng dng.
Ngoi ra mi trng trc quan cn cho php ngi lp trnh t to
cc i tng giao din mi (User Control) dng trong cc ng
dng c vit sau (chng 9).
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 4

6.1 Tng qut v xy dng ng dng bng VS .Net

Qui trnh vit ng dng theo c ch ny c gi l vit ng dng


bng cch lp ghp cc linh kin phn mm, n ging nh vic lp
my tnh t cc linh kin phn cng nh CPU, RAM, disk,
keyboard, monitor,... rt d dng v nhanh chng.
Mi phn t giao din, d nh hay ln, d n gin hay phc tp,
u l ca s (window). HH Windows s qun l cc ca s lm
vic theo thi gian. Mt ng dng c th dng nhiu ca s trong
qu trnh hot ng, nhng tng thi im ch c 1 s t ca s
c chng trnh hin th lm vic vi ngi dng.
Chng ta s lm quen 1 s i tng giao din, nm c tnh
cht v kh nng ca tng i tng khi lp trnh ng dng no
, ta s ch ng chn la v dng chng cho ph hp vi tng
ng cnh s dng.
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 5

6.2 Mt s i tng giao din thng dng


Control buttons
Window Form,
Dialogbox
Title bar
Textbox
Button

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 6

6.2 Mt s i tng giao din thng dng


Label
DriveListBox
Combobox
Textbox + ListBox

DirListBox
FileListBox ListBox
PictureBox
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 7

6.2 Mt s i tng giao din thng dng

GroupBox

RadioButton

Checkbox

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 8

6.2 Mt s i tng giao din thng dng


MenuTrip
ToolTrip
Button
Pop-up Menu

1 window cha 1
document ca ng
dng
StatusTrip
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 9

Cc tnh cht chung ca cc i tng giao din

i tng giao din c nhng tnh cht ging nh i tng bnh


thng, n cng c cu thnh t cc loi thnh phn : thuc
tnh, tc v, event, delegate...
Mi i tng giao din cha kh nhiu thuc tnh lin quan n
nhiu loi trng thi khc nhau :
(Name) : y l thuc tnh c bit, xc nh tn nhn dng
ca i tng, gi tr ca thuc tnh ny s tr thnh bin tham
kho n i tng, code ca ng dng s dng bin ny
truy xut i tng.
cc thuc tnh xc nh v tr v kch thc (Layout) : Location,
Size, Margin...
cc thuc tnh xc nh tnh cht hin th : Text, Font,
ForeColor, BackColor,...
cc thuc tnh xc nh hnh vi (Behavoir) : Enable, Visible...
cc thuc tnh lin kt d liu database : DataBindings,...
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 10

6.3 Hiu chnh thuc tnh cc i tng giao din


Khi to trc quan 1 i tng giao din, mi
trng gn gi tr u mc nh cho cc thuc
tnh, thng ta ch cn thay i 1 vi thuc tnh
l p ng c yu cu ring. C 2 cch hiu
chnh gi tr 1 thuc tnh :
trc quan thng qua ca s thuc tnh ca
i tng giao din.
lp trnh truy xut thuc tnh ca i tng
giao din.

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 11

6.4 S kin - Hm x l s kin

Mi i tng giao din c kh nhiu s kin ngi dng kch


hot. Ngi lp trnh c th nh ngha hm x l kt hp vi s
kin cn x l. Khi ng dng chy, lc ngi dng kch hot s
kin, hm x l s kin tng ng (nu c) s chy.
Th d khi user n chut vo button tn "button1", h thng to ra
s kin "Click" kch khi hm button1_Click() chy.
Mun to hm x l s kin trn i tng
giao din, ta chn i tng, ca s thuc
tnh ca n s hin th, click icon
hin
th danh sch cc s kin ca i tng,
duyt tm s kin cn x l, nhp tn hm
x l vo combobox bn phi s kin (hay
n kp chut vo comboBox my to t
ng hm x l).
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 12

6.5 Qui trnh in hnh vit 1 ng dng bng VC#


1. Trc ht phi nm bt yu cu phn mm xc nh cc chc
nng m ng dng phi cung cp cho ngi dng.
2. Phn tch s lc tng chc nng v tm ra cc class phn tch cu
thnh chc nng tng ng.
3. Thit k chi tit cc class phn tch : xc nh cc thuc tnh v cc
tc v cng nh phc ha gii thut ca tng tc v. Phn loi cc
class phn mm thnh 2 nhm : nhm cc i tng giao din (cc
form giao din) v nhm cc class miu t thut gii cc chc nng
bn trong ca ng dng. Trong cc ng dng nh dng thut gii
n gin, ta thng t cc thut gii chc nng trc tip trong cc
hm x l s kin ca cc i tng giao din.

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 13

6.5 Qui trnh in hnh vit 1 ng dng bng VC#


4. Hin thc phn mm bng VC# gm 2 cng vic chnh :
thit k trc quan cc form giao din ngi dng : mi form
cha nhiu phn t giao din, cc phn t giao din thng
c sn, nu khng ta phi to thm 1 s i tng giao din mi
(User Control). ng vi mi phn t giao din va to ra, nn
thit lp gi tr u cho thuc tnh "Name" v 1 vi thuc tnh
cn thit.
to hm x l s kin cho cc s kin cn thit trn cc phn t
giao din ri vit code cho tng hm x l s kin va to ra.

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 14

6.6 Th d vit ng dng gii phng trnh bc 2


1. Chy VS .Net, chn menu File.New.Project hin th ca s New
Project.
2. M rng mc Visual C# trong TreeView "Project Types", chn mc
Window, chn icon "Windows Application" trong listbox
"Templates" bn phi, thit lp th mc chc Project trong listbox
"Location", nhp tn Project vo textbox "Name:", click button OK
to Project theo cc thng s khai bo.
3. Form u tin ca ng dng hin th trong ca s thit k, vic
thit k form l qu trnh lp 4 thao tc to mi/xa/hiu chnh
thuc tnh/to hm x l s kin cho tng i tng cn dng
trong form.

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 15

6.6 Th d vit ng dng gii phng trnh bc 2


4. Nu ca s ToolBox cha hin th chi tit, chn menu
View.Toolbox hin th n (thng nm bn tri mn hnh).
Click chut vo button
(Auto Hide) nm gc trn phi ca s
ToolBox chuyn n v ch hin th thng trc.
5. Duyt tm phn t Label (trong nhm Common Controls), chn
n, di chut v v tr thch hp trong form v v n vi kch thc
mong mun. Hiu chnh thuc tnh Text = "Nhap a :". Nu cn,
hy thay i v tr v kch thc ca Labelv ca Form.
6. Duyt tm phn t TextBox (trong nhm Common Controls), chn
n, di chut v v tr bn phi Label va v v v n vi kch
thc mong mun. Hiu chnh thuc tnh (Name) = txtA. Nu
cn, hy thay i v tr v kch thc ca TextBox.

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 16

6.6 Th d vit ng dng gii phng trnh bc 2


7. Lp li cc bc 4, 5 v 2
Label "Nhp b :", "Nhp c :", 2
TextBox c (Name) = txtB, txtC,
1 button "Bt u gii" c
(Name) = btnStart, 3 Label c
(Name) ln lt l lblKetqua,
lblX1, lblX2.
i vi cc i tng ging
nhau, ta c th dng k thut
Copy-Paste nhn bn v tnh
chng cho d dng.
Sau khi thit k xong, Form c
dng sau :
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 17

6.6 Th d vit ng dng gii phng trnh bc 2


8. Di chut v button "Bt u gii", n kp chut vo n to
hm x l s kin Click chut cho button, ca s m ngun s hin
th ta bt u vit code cho hm. Lu rng to hm x l
s kin bt k cho i tng 1 cch chnh quy, ta phi hin th ca
s thuc tnh ca i tng, ri hin th danh sch cc s kin ri
mi nh ngha hm x l s kin mong mun.
9. Vit code cho hm btnStart_Click() nh sau :
private void btnStart_Click(object sender, EventArgs e) {
//nh ngha cc bin cn dng
double a, b, c;
double delta;
double x1, x2;
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 18

6.6 Th d vit ng dng gii phng trnh bc 2


//m ha chui nhp thnh gi tr thc a,b,c
a = Double.Parse(txtA.Text);
b = Double.Parse(txtB.Text);
c = Double.Parse(txtC.Text);
//tnh bit s delta ca phng trnh
delta = b * b - 4 * a * c;
if (delta >= 0) { //nu c nghim thc
x1 = (-b + Math.Sqrt(delta)) / 2 / a;
x2 = (-b - Math.Sqrt(delta)) / 2 / a;
lblKetqua.Text = "Phng trnh c 2 nghim thc :";
lblX1.Text = "X1 = " + x1;
lblX2.Text = "X2 = " + x2;
}
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 19

6.6 Th d vit ng dng gii phng trnh bc 2


else { //nu v nghim
lblKetqua.Text = "Phng trnh v nghim";
lblX1.Text = lblX2.Text = "";
}
}
10. Hiu chnh hm khi to form nh sau :
public Form1() {
InitializeComponent();
//xa ni dung ban u ca cc Label kt qu
lblKetqua.Text = lblX1.Text = lblX2.Text = "";
}
11. Chn menu Debug.Start Debugging dch v chy ng dng.
Hy th nhp tng b ba (a,b,c) ca phng trnh bc 2 ri n
button "Bt u gii" gii v xem kt qu.
Khoa Khoa hc & K thut My tnh
Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 20

6.0 Kt chng

Chng ny gii thiu cc i tng giao din ph dng, qui


trnh to/xa/hiu chnh thuc tnh ca i tng cng nh to
hm x l s kin cho 1 s s kin quan tm trn i tng giao
din.
Chng ny cng gii thiu qui trnh in hnh xy dng
chng trnh c giao din ha c thit k trc quan (thay v
phi vit code kh khn).

Khoa Khoa hc & K thut My tnh


Trng H Bch Khoa Tp.HCM
2010

Mn : Lp trnh hng i tng


Chng 6 : Xy dng giao din ng dng bng Visual Studio
Slide 21

You might also like