Tai Lieu Huong Dan Tu Hoc Visual Studio2010

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 42

Hng dn thc hnh Nhp mn CNPM

Bi 1: Lp trnh s kin v gii thiu chung v


Microsoft Visual Studio 2005 (C#)

I. Lp trnh hng s kin


- Gii thiu v lp trnh hng s kin
- Gii thiu mt s s kin c bn: Form_Load, Button_Click, Key_Press,
II. Gii thiu chung v Control trn windows
- Label
- Button
- Textbox
- Listbox
- Combobox
- Checkbox, RadioButton
-

III. Gii thiu lp trnh ng dng WinForm


1. Bi tp 1: Vit chng trnh tnh tng hai s

o Khi ng Microsoft Visual Studio 2005

o To project: T menu File chn New\Project


Hng dn thc hnh Nhp mn CNPM

Sau khi to project xong:

o Thit k giao din nh sau (trn thanh cng c Toolbox ko th cc control vo


form):
Hng dn thc hnh Nhp mn CNPM

Label

Textbox

Button

o Trn ca s properties t li tn (thuc tnh name) v caption (thuc tnh text)


cho cc control
Vi Form: t li thuc tnh name l frmTinhTong, t li tiu form
thng qua thuc tnh Text
Vi label: t li thuc tnh text, khng cn t thuc tnh name
Vi Textbox: t thuc tnh name ln lc l txtSohang1, txtSohang2,
txtTong
Vi Button: t thuc tnh name ln lc l btnTinhTong, btnThoat v
t li thuc tnh text nh giao din trn
o ng k v x l s kin cho button Tnh tng
Hng dn thc hnh Nhp mn CNPM

o ng k v x l s kin cho button Tnh tng

o Nu ngi dng nhp d liu khng hp l?

o Cn phi kim tra rng buc d liu hp l trc khi tnh tng

o Dng c php Try.. Catch chn li


Hng dn thc hnh Nhp mn CNPM

o ng k v x l s kin cho button Thot

2. Bi tp 2: Thit k giao din v ci t chng trnh nh sau:

3. Bi tp 3: Vit chng trnh Calculator n gin nh sau:


Hng dn thc hnh Nhp mn CNPM

Bi 2: Lp trnh s kin v gii thiu chung v


Microsoft Visual Studio 2005 C# (tt)

IV. Mc tiu: tm hiu cch s dng mt s control c bn


V. Xy dng chng trnh ng dng:
1. To ng dng WinForm
2. Thit k giao din nh hnh sau:

ListBo
x
Hng dn thc hnh Nhp mn CNPM

List_Thucdon List_Chon

t li thuc tnh v tn cho form


t li thuc tnh v tn cho cc control trn form
3. ng k v x l s kin Button Thm
- Thm mt item mi vo List_Thucdon:
List_Thucdon.Items.Add(txt_Mon.Text);
- Sau khi thm xong th clear txt_Mon
txt_Mon.Text = "";

4. ng k v x l s kin cho Button


- Thm mt item c chn trong List_Thucdon vo List_Chon
List_Chon.Items.Add(List_Thucdon.SelectedItem);
- Tuy nhin, s xy ra trng hp mt item c add nhiu ln. V vy, phi kim tra
xem trong List_Chon tn ti item hay cha?

5. Tng t, ng k v x l s kin cho Button


- S dng vng lp duyt tt c cc item trong ListBox
- ???

6. ng k v x l s kin cho Button


- Xa mt item ra khi ListBox
List_Chon.Items.Remove(List_Chon.SelectedItem);
Hoc:
List_Chon.Items.RemoveAt(List_Chon.SelectedIndex);
- Xa tt c cc item trong ListBox
List_Chon.Items.Clear();

VI. Bi tp 1: Hon thin chng trnh trn


- Cho php chn nhiu item
- Cho php b chn nhiu item
- X l cc trng hp c bit
-

VII. Bi tp 2: Tm hiu v ng dng mt s control thng dng


1. ComboBox
2. DateTimePicker (Hp thoi chn ngy thng nm)
3. ColorDialog (Hp thoi chn mu)
4. FolderBrowserDialog (Hp thoi chn th mc)
Hng dn thc hnh Nhp mn CNPM

5. OpenFileDialog (Hp thoi m file)


6. SaveFileDialog (Hp thoi save file)
7. FontDialog (Hp thoi chn Font)
8.

Bi 3: Ch ADO.NET
Cc thao tc kt ni ADO.NET s dng cu trc dng lnh vi namespace
System.Data.

Mc ch

Lm quen vi cc i tng trong ADO.NET (OleDbConnection, OleDbCommand,


OleDbDataReader, OleDbDataAdapter, DataSet), s dng chng thc hin cc thao tc trn
c s d liu.

Yu cu bi tp
Xy dng ng dng cho php:
- Nhp thng tin hc sinh (M hc sinh, H tn, Gii tnh, Ngy sinh, a ch, im
trung bnh, Lp)
- Lu tr thng tin ca hc sinh vo b nh ph (dng c s d liu Access)

1. Thit k CSDL
a. M ng dng Microsoft Access
Hng dn thc hnh Nhp mn CNPM

b. To c s d liu
T menu File chn New Sau chn Blank database Nhp tn database
QLHOCSINH sau chn Create
To bng HOCSINH lu tr thng tin hc sinh

Ch
n

Sau khi chn hin th form cho php thit k bng nh sau:
Hng dn thc hnh Nhp mn CNPM

Cu trc bng HOCSINH to nh hnh trn nh sau:

HOCSINH
STT Tn trng Kiu d liu Ghi ch
1 MaHS Text(20) Kha chnh
2 HoTen Text(50)
3 GioiTinh Text(10)
4 NgaySinh Date/Time Short Date
5 DiaChi Text(255)
6 DTB Number Single
7 Lop Text(20)
Cch t kha chnh cho bng
Hng dn thc hnh Nhp mn CNPM

2. Thit k giao din chng trnh


To project Window Application mi vi tn project l QLHS
Thit k Form Nhp thng tin hc sinh nh mn hnh sau:
Hng dn thc hnh Nhp mn CNPM

3. Thc hin ci t
thao tc trn c s d liu s dng ADO.NET ta cn c cc i tng sau:
- Connection kt ni vi c s d liu, gm OleDbConnection v SqlConnection.
- Command thc thi cc cu lnh truy vn, thc thi cc store procedure... bao gm
OleDbCommand v SqlCommand
- DataAdapter thc hin nh x d liu vo DataSet thng qua connection c bao
gm OleDbDataAdapter v SqlDataAdapter.
- DataSet cha d liu thu c hoc x l ly t c s d liu. DataSet l tp hp gm
cc thnh phn DataTable (tng ng vi tng View trong c s d liu),
DataColumn (tng ng vi Field trong CSDL) v DataRow (tng ng vi record
trong CSDL).
kt ni vi CSDL Access, chng ta s dng OleDb. V vy, chng ta cn khai bo s
dng namespace nh sau:

Khai bo cc bin i tng (phm vi ton cc) x l cc thao tc vi CSDL nh sau:

a. X l s kin form load:


Khi form c load (x l s kin Form_Load) th thc hin cc thao tc sau:
Hng dn thc hnh Nhp mn CNPM

- Kt ni n CSDL Access
- a danh sch lp vo Combobox

b. X l s kin button Lu:

Sau khi nhp thng tin hc sinh, ngi dng nhn vo button , thc hin kim tra
d liu nhp, nu hp l th lu vo table HOCSINH
thm mi mt hc sinh vo table HOCSINH thc hin cu truy vn: INSERT INTO
HOCSINH VALUES (<Cc gi tr tng ng vi cc ct trong bng HOCSINH>)
Hng dn thc hnh Nhp mn CNPM

c. X l s kin button Xa:

Khi ngi dng chn chc nng thc hin xa gi tr trn cc control cho php
nhp hc sinh mi.

4. Bi tp:
- Kim tra rng buc d liu hp l trc khi lu thng tin hc sinh
o M hc sinh, tn hc sinh khng c null

o im trung bnh l mt s thc t 0 10

o Ch tip nhn cc hc sinh c tui t 15 20


Hng dn thc hnh Nhp mn CNPM

- Thc hin chc nng khi ngi dng nhp m hc sinh c trong CSDL, chng
trnh s hin th thng tin hc sinh cho php ngi dng chnh sa thng tin v lu li
thng tin hc sinh c sa (thc hin UPDATE).
- Tm hiu control ListView hin th danh sch hc sinh lu tr trong CSDL

HNG DN THC HNH TUN 4


Ch : ADO.NET (tt)
Cc thao tc kt ni ADO.NET s dng cu trc dng lnh vi
namespace System.Data (tt).

VIII. Thit k CSDL:


S dng li CSDL ca tun trc (QLHOCSINH.mdb)

IX. To ng dng WinForm:


Trong tun trc chng ta lm quen vi vic thao tc kt ni ADO.NET s dng cu trc
dng lnh vi namespace System.Data.
Phn ny chng ta pht trin tip ng dng trong tun trc nng cao cht lng ca
chng trnh:
- Tnh tin dng

- Tnh hiu qu

- Tnh thn thin

Thit k li Form Nhp thng tin hc sinh nh mn hnh sau:


Hng dn thc hnh Nhp mn CNPM

Kt qu mn hnh khi chy:


Hng dn thc hnh Nhp mn CNPM

- ListView c 5 cch hin th d liu khc nhau, hin th d liu theo dng li nh trn
chng ta phi chn thuc tnh View l Details

- Thit lp column cho ListView


Hng dn thc hnh Nhp mn CNPM

Ci t cc hm load danh sch hc sinh vo ListView


- Ta ci t hm Doc_DanhSach_HocSinh() ly thng tin hc sinh trong bng
HOC_SINH t CSDL nh sau:

- Tip theo ta ci t hm Load_Danhsach_Hocsinh_ListView load thng tin hc sinh


( c c t hm Doc_DanhSach_HocSinh()) vo listview nh sau:
Hng dn thc hnh Nhp mn CNPM

- Nh vy, trong s kin Form_Load c ci t nh:

hng dn
trong tun 3
Hng dn thc hnh Nhp mn CNPM

Bi tp:
1. Tm hiu mt s s kin pht sinh trn control ListView
2. Khi ngi dng chn mt row (chn 1 hc sinh) trn ListView hin th thng tin hc
sinh va chn ln cc control trn form chnh sa v cp nht thng tin.
Hng dn:
- X l s kin SelectedIndexChanged

3. Khi thc hin lu thng tin hc sinh, cn phi kim tra xem hc sinh cn lu c trong
table HOCSINh cha?
- Nu cha c th thc hin INSERT INTO
- Nu tn ti ri th thc hin UPDATE

4. X l s kin : Clear d liu trn cc control sng sn cho vic nhp


thng tin hc sinh mi.

5. X l s kin : Thc hin xa thng tin ca hc sinh lu trong table


HOCSINH khi bit m hc sinh.
Hng dn:
- Tng t khi thm mi hc sinh
- Thc hin xa thng tin ca mt hc sinh th cn phi bit m ca hc sinh cn xa:
Delete From HOCSINH Where MaHS=???
Hng dn thc hnh Nhp mn CNPM

6. Chng ta thy, chng trnh chy c (kt ni c CSDL) phi chp file
QLHOCSINH.mdb vo ng v tr ng dn c ch ra trong phn kt ni iu ny
dn n khng tin dng cho ngi dng Suy ngh v cho gii php gii quyt vn
nu.

HNG DN THC HNH TUN 5


(Hng dn bi tp tun 4)

X. C s d liu:
S dng li CSDL ca tun trc (QLHOCSINH.mdb)

XI. Xy dng chng trnh:


Trong tun trc chng ta xy dng ng dng thao tc
kt ni vi CSDL Access (s dng cng ngh ADO.NET).
Tuy nhin, chng trnh chy c (kt ni c vi
CSDL QLHOCSINH.mdb), ngi dng phi chp CSDL
QLHOCSINH.mdb vo ng v tr ng dn ch ra trong
chng trnh. Nh vy ngi dng gp phi mt s kh khn:
- Trn my tnh khc khng tn ti a v ng dn
nh ch ra trong chng trnh?
- Ngi dng mun qun l CSDL ti mt th mc
khc?

gii quyt kh khn trn, chng trnh h tr cho


php ngi dng ch ra v tr lu tr CSDL
QLHOCSINH.mdb trc khi thao tc vi ng dng.
S dng li chng trnh xy dng trong tun trc
Hng dn thc hnh Nhp mn CNPM

Thm mt Form mi cho php ngi dng ch ra ng


dn lu tr CSDL
Sau khi ch ra ng dn, chng trnh s ly thng tin
ng dn chuyn n cho chui kt ni.
Hng dn thc hnh Nhp mn CNPM

a. Add thm mt Form mi vo project

Form mi add c tn mc nh l Form2

b. Thit k giao din cho Form mi nh sau:


Hng dn thc hnh Nhp mn CNPM

Khi ng dng chy, Form2 (form chn ng dn) phi c


chy trc tin?
Ta thy, Form1 (form nhp thng tin hc sinh) c to to
ngay t u, do Form1 mc nh c chy u tin.
Form2 chy trc, Trong class Program.cs sa li nh sau:
Hng dn thc hnh Nhp mn CNPM

- Trong class Form2.cs khai bo bin sDuongDan nh sau:


public static string sDuongDan = "";
Bin sDuongDan c khai bo l public static v cc l
do sau:
Form1 c th hiu c bin ny
Form1 c th gi trc tip bin ny khng cn thng
qua i tng
- X l s kin khi ngi dng chn vo button
Hng dn thc hnh Nhp mn CNPM

- X l s kin khi ngi dng chn vo button


Hng dn thc hnh Nhp mn CNPM

- Nh vy, trong Form1 (form nhp thng tin hc sinh)


chng ta cn phi chnh sa li nh sau:
Trong s kin form load (Form1_Load) thay dng lnh

Bng dng lnh sau:

Ta thy trong s kin button Thoat, tun trc chng ta


ci t nh sau:

Tuy nhin, dng lnh this.Close() ch c hiu lc trn


form hin hnh (ngha l ch thot form nhp thng tin hc
sinh).
Trong ng dng chng ta by gi c n 2 form, Form2
(form chn ng dn CSDl) ang n vn cha thot
chng trnh vn ang chy.
thot ng dng (thot chng trnh) ta ci t li nh
sau:

XII. Bi tp:
Gi s chng trnh cn phi qun l danh sch cc hc sinh
theo tng lp, nng cao cht lng ca chng trnh, trnh
Hng dn thc hnh Nhp mn CNPM

trng lp thng tin trn trng LOP. Chng ta cn phi to


mt table LOP. Yu cu:
1. To bng LOP
2. Thit k v ci t form nhp danh mc lp hc
3. Thi?tk?vci?t?ngd?ngnhi?uform(multiform)

HNG DN THC HNH TUN 6


Xy dng ng dng nhiu Form

XIII. Mc ch:
Trong bi thc hnh ny, cc bn s lm quen
vi cch xy dng mt ng dng gm c nhiu
form tng tc vi CSDL Access thng qua vic
s dng cng ngh ADO.NET

XIV. Yu cu
nm c cc khi nim c bn v xy
dng ng dng Windows bng VB hoc C#
S dng c h qun tr CSDL Access
Hng dn thc hnh Nhp mn CNPM

XV. Bi tp
Trong cc tun trc chng ta xy dng
cc ng dng thao tc kt ni vi CSDL
Access (s dng cng ngh ADO.NET).
Trong tun ny, cc bn xy dng ng dng
multi Forms s dng li cc form xy dng
trong cc tun trc tip tc cho bi tp sau

c.Thit k form theo mu di y:


Giao din di y s dng mt s control
sau:
a. MenuStrip
b. ListView
c. TreeView
d. ImageList
Hng dn thc hnh Nhp mn CNPM

tvChucnang: lvChucnang:
TreeView ListView

- Menu h thng, gm cc chc nng sau:

- Menu H s, gm cc chc nng:

- Menu tr gip

d. Thit k menu:
Thng qua ca s Properties t thuc tnh
Text v Name cho tng menu item
Hng dn thc hnh Nhp mn CNPM

e.Thit k TreeView:
Mi phn t trn TreeView c gi l mt
node

Thng qua ca s TreeNode Editor thit


lp cc nodes cho tvChucnang
Hng dn thc hnh Nhp mn CNPM

f. Thit k ListView
Thng qua ca s
Properties thit
lp cc thuc tnh
cho ListView nh
hnh sau:
Hng dn Thc hnh mn Nhp mn CNPM
Hng dn Thc hnh mn Nhp mn CNPM

g. X l s kin khi ngi dng chn


mt node trn TreeView tvChucnang

Khi ngi dng chn mt node trn


TreeView tvChucnang, chng trnh add cc
chc nng tng ng vo ListView
lvChucnang
Hng dn Thc hnh mn Nhp mn CNPM
Hng dn Thc hnh mn Nhp mn CNPM

h. X l s kin khi ngi dng double


click mt item trn ListView lvChucnang

i. Da trn nhng vn c hng


dn, Sinh vin tip tc pht trin v
hon thin chng trnh Qun l hc
sinh.
Hng dn Thc hnh mn Nhp mn CNPM

HNG DN THC HNH TUN 7


X l trn Form Tm kim

XVI. Mc ch:

Trong bi thc hnh ny, cc bn s lm quen vi cch x l cc form tm kim


thng tin, tra cu v hin th kt qu tm kim.

XVII. Yu cu

nm c cc khi nim c bn v xy dng ng dng Windows VB hoc C#


S dng c h qun tr CSDL Access hoc SQL Server

XVIII. Bi tp

Trong cc tun trc chng ta xy dng cc ng dng thao tc kt ni vi


CSDL Access (s dng cng ngh ADO.NET).
Trong tun ny, cc bn s dng li ng dng qun l hc sinh lm trong
cc tun trc, pht trin tip ng dng v xy dng Form tra cu (tm kim) thng
tin hc sinh.

j. Thit k form Tra cu thng tin hc sinh theo mu di y:


H tr tm kim thng tin hc sinh theo lp hc.
a. S dng control DataGridView hin th thng tin hc sinh
Hng dn Thc hnh mn Nhp mn CNPM

k. Yu cu x l

Khi chng trnh thc thi:


a. c tt c cc lp hc hin c v load vo ComboBox cboLop
Khi ngi dng click vo Button Tm kim:
b. c danh sch hc sinh ca lp hc c chn trn ComboBox cboLop
v hin th vo DataGridView dgHocSinh.

l. X l s kin Form Load

Hm Doc_DanhSach_Lop(): c cc lp hc trong bng HOCSINH


Hng dn Thc hnh mn Nhp mn CNPM
Hng dn Thc hnh mn Nhp mn CNPM

m. X l s kin khi ngi dng click button Tm kim.

c danh sch hc sinh t table HOCSINH tng ng lp hc c chn v


gn vo DataSource ca DataGridView dgHocSinh

Hm Doc_DanhSach_HocSinh_Theo_Lop()
Hng dn Thc hnh mn Nhp mn CNPM

XIX. Bi tp m rng

Cho php tm kim thng tin hc sinh theo m s, h tn, gii tnh, lp, V d:
1. Tm nhng hc sinh nam/n thuc
Lp 10A1
2. Tm cc hc sinh c h Nguyn thuc
Lp 10A2
3.
Hng dn
Thit k li giao din

Cn phi sy ngh cu truy vn d liu nh th no cho php tm kim t hp gia


cc thuc tnh M hc sinh, H tn, Gii tnh, Lp?
4. Khi cn tm kim thng tin hc sinh
theo m hc sinh th cu truy vn nh sau:
Tm kim chnh xc:
Select * From HOCSINH Where MaHS=
Hng dn Thc hnh mn Nhp mn CNPM

Tm kim gn ng
Select * From HOCSINH Where MaHS like**
Trong * l k t i din (Access), nu trong SQL th k t i din l %
5. Khi cn tm thng tin hc sinh da trn
lp v h (gi s cn tm cc hc sinh trong lp 10A1 c h l Nguyn)
Select * From HOCSINH Where Lop=10A1 and HoTen like Nguyn*
6. Nh vy mt cch tng qut th cn
phi hnh thnh cu truy vn nh th no?

You might also like