You are on page 1of 16

B GIO DC V O TO

TRNG I HC S PHM TP.HCM


KHOA CNG NGH THNG TIN
http://www.hcmup.edu.vn

BI TP THC HNH LP TRNH WINDOWS C#


Phn 1: Lm quen vi ng dng Form

1. Bi tp m u
1.1. Khi to Project
T Visual Studio 2005/2008/2010 ta chn File New  Project.

Mt hp thoi xut hin, ta chn Template l Windows Form Application.

ng dng c to ra nh sau:

Lng Trn Hy Hin

www.hienlth.info

1/16

Bi tp thc hnh lp trnh Windows Form vi C#

Project BaiTap01 gm c thnh phn Program.cs ging trong ng dng Console Application v cn
c mt thnh phn mi l Form1.cs ang ch Design vi giao din nh sau:

Ch ca s Toolbox cha cc cng c thit k:


Nu khng thy ca s ny, ta chn menu View  Toolbox.

Lng Trn Hy Hin hienlth@hcmup.edu.vn

2/16

Bi tp thc hnh lp trnh Windows Form vi C#


1.2. ng dng m u:
1.2.1. i tn form:
Click ln Form1 ca s Design, quan st trn ca s Properties, ta thy c thuc tnh Text, gi tr
mc nh l Form1, ta i thnh BaiTap01.

Ta thy thanh tiu Form1 i sang BaiTap01.

1.2.2. Ko th cc control t Toolbox vo Form


T thanh Toolbox, ko th mt Label b vo Form, sau di chuyn chut n ca s Properties,
chn thuc tnh Text, i t label1 sang Nhp n.

Lng Trn Hy Hin hienlth@hcmup.edu.vn

3/16

Bi tp thc hnh lp trnh Windows Form vi C#

Tip theo ko th mt Textbox b vo form.

Lng Trn Hy Hin hienlth@hcmup.edu.vn

4/16

Bi tp thc hnh lp trnh Windows Form vi C#


Trong ca s Properties ca textbox ny, thuc tnh Name ta i t textBox1 thnh txtN.

Tng t thm vo form mt label c thuc tnh Text i thnh Tng v mt textbox c thuc tnh
Name i thnh txtTong.

Tip theo, ko mt Button t Toolbox v th vo Form, i thuc tnh Name ca button ny l


btnTinh, text l Tnh.
Ko th thm mt Button na tng t trn, Name = btnThoat, Text = Thot.

Lng Trn Hy Hin hienlth@hcmup.edu.vn

5/16

Bi tp thc hnh lp trnh Windows Form vi C#


a chut v cc gc ca Form thay i kch thc ca s.
1.2.3. X l s kin click chut ln button
Double click vo button Tnh (btnTinh), mt ca s son tho xut hin vi ni dung nh sau:

Ch : Ca s ny l Form1.cs tng ng vi Form1.cs[Design].


Phng thc btnTinh_Click c pht sinh do ta va double click vo btnTinh.

Ta nh ngha cho lp ny nh sau:

Lng Trn Hy Hin hienlth@hcmup.edu.vn

6/16

Bi tp thc hnh lp trnh Windows Form vi C#

Tip theo ta x l s kin click chut cho button btnThoat.


Quay li Form1.cs[Design], double click ln button Thot, Form1.cs c ni dung thay i nh sau:

Lng Trn Hy Hin hienlth@hcmup.edu.vn

7/16

Bi tp thc hnh lp trnh Windows Form vi C#

Ta x l cho s kin ny nh sau:


private void btnThoat_Click(object sender, EventArgs e)
{
Close();
}

Chy th chng trnh (F5):

Nhp n = 4 v click vo button Tnh. Kt qu xut hin txtTong:

Lng Trn Hy Hin hienlth@hcmup.edu.vn

8/16

Bi tp thc hnh lp trnh Windows Form vi C#

Click vo button Thot kt ni chng trnh.

2. Bi tp c gi
2.1. Bi 01 Vit chng trnh nhp vo 2 s a v b, cho bit s ln nht v nh nht
trong 2 s a,b vi giao din nh sau

Hnh 1: Chng trnh tm Min, Max 2 s

Hng dn gi : s dng cu trc If Else


2.2. Bi 02 Vit chng trnh nhp vo 2 s a, b v c cho bit s ln nht v nh nht
trong 3 s a, b v c vi giao din nh sau

Hnh 2: Chng trnh tm Min, Max 3 s

Lng Trn Hy Hin hienlth@hcmup.edu.vn

9/16

Bi tp thc hnh lp trnh Windows Form vi C#

2.3. Bi 03 - Nhp vo mt s nguyn t 0 n 9, hin th bng ch cc k s trn, v d:


-

Nhp 1  Mt
Nhp 2  Hai
Nhp 3  Ba
..
Nhp 9  Chn

Hnh 3: Chng trnh c s

Hng dn gi : s dng cu trc switch case


2.4. Bi 04 - Nhp vo mt s nguyn dng N, hin th bng ch s va nhp trn, v
d:
-

Nhp 1  Mt
Nhp 12  Mi hai
Nhp 123  Mt trm hai mi ba

Hnh 4: Chng trnh c s tng qut

Hng dn gi : s dng cu trc switch case


Lng Trn Hy Hin hienlth@hcmup.edu.vn

10/16

Bi tp thc hnh lp trnh Windows Form vi C#


2.5. Bi 05 - Vit chng trnh nhp vo gi tr nguyn dng N, tnh tng
S = 1 + 2 + 3 ++ N
vi giao din nh sau:

Hnh 5: CT tnh tng N s nguyn lin tip - 1

Hng dn gi : s dng vng lp While, For


2.6. Bi 06- Vit chng trnh nhp vo gi tr nguyn dng N, tnh tng
S = 1 + 2 + 3 ++ N
vi giao din nh sau

Hnh 6: CT tnh tng N s nguyn lin tip - 2

Tng t tnh tng


- S = 1 + 3 + 5 + 7 ++ (2N +1)
- S = 2 + 4 + 6 + 8 ++ 2N.
2.7. Bi 07: Vit chng trnh gm 1 form trong c 1 button v 1 label hin th s ln
nhn button .

Lng Trn Hy Hin hienlth@hcmup.edu.vn

11/16

Bi tp thc hnh lp trnh Windows Form vi C#


2.8. Bi 08- Vit chng trnh nhp vo gi tr nguyn dng N, v s thc X, tnh tng
S = X + X2 + X3 + X4 +..+ XN

Hnh 7: CT tnh tng ly tha

Tng t tnh tng


- S = X + X3 + X5 + X5 +..+ X2N+1
- S = X2 + X4 + X6 +..+ X2N
2.9. Bi 09 Thit k giao din v ci t chng trnh nh sau:

Hnh 8: Cc php ton c bn

Lng Trn Hy Hin hienlth@hcmup.edu.vn

12/16

Bi tp thc hnh lp trnh Windows Form vi C#


2.10.

Bi 10 (BT c hng dn) My tnh n gin thc hin cc chc nng +, -, *, /.

MY TNH N GIN1

Hnh 9: Chng trnh my tnh n gin

Bc 1: To Project, ghi tiu form, icon form, n nt Minimize, Maximize

X l cho nt X: S kin FormClosing()

Lng Trn Hy Hin hienlth@hcmup.edu.vn

13/16

Bi tp thc hnh lp trnh Windows Form vi C#


Bc 2: Thit k mn hnh v t tn nh hnh sau:

Trong cc phm s t tn t btn0  btn9.


Bc 3: Khai bo cc bin cn thit

string chuoitam = "";


//Dng lu gi tm gi tr ca s nhp vo
char toantu;
//Dng lu k hiu ton t ca php ton, vd: +, -, *, /
double[] toanhang = new double[2];//Lu 2 ton hng (s hng) ca php ton
double ketqua;
//Dng lu kt qu ca php ton
int buoc = 1;
//Dng lu gi s bc thc hin php ton

//Khai bo bin
string chuoitam = "";
char toantu;
double[] toanhang = new double[2];
double ketqua;
int buoc = 1;

Bc 4: Vit hm cho chung cho cc phm s (0  9)


t tn cho phm va bm l b. Nu b rng, kt thc hm. Ngoi ra chng ta cng loi tr trng
hp c rt nhiu s 0 ng trc mt s khc (v d 000000001 chnh l 1). Do b.Text == 0
&& chuoitam.Length == 0 th kt thc hm.
//Hm bm phm s
private void NumberButtons(object sender, EventArgs e)
{
Button b = sender as Button;
if ((b == null) || (b.Text == "0" && chuoitam.Length == 0)) return;
chuoitam += b.Text;
txtManHinh.Text = chuoitam;
}

Lu : Cho tt c cc phm s gi hm ny ng vi s kin click.


Lng Trn Hy Hin hienlth@hcmup.edu.vn

14/16

Bi tp thc hnh lp trnh Windows Form vi C#


Bc 5: Vit hm x l cho nt +/- (dng/m)
//Hm x l cho nt +/- (dng/m)
private void btnCongTru_Click(object sender, EventArgs e)
{
if (chuoitam.Contains('-'))
chuoitam = chuoitam.Replace("-", "");
else
chuoitam = "-" + chuoitam;
txtManHinh.Text = chuoitam;
}

Bc 6: Vit hm x l cho phm .


//Hm x l phm chm
private void btnCham_Click(object sender, EventArgs e)
{
if (!chuoitam.Contains('.'))
{
chuoitam = chuoitam + ".";
txtManHinh.Text = chuoitam;
}
}

Bc 7: Vit hm x l cho nt C
//Hm x l nt C
private void btnC_Click(object sender, EventArgs e)
{
if (chuoitam.Length == 0)
{
buoc = 1;
toanhang[0] = toanhang[1] = 0.0;
toantu = ' ';
ketqua = 0.0;
}
else
chuoitam = "0";
txtManHinh.Text = chuoitam;
}

Bc 8: Vit hm x l cho phm bng2


//Hm bm phm s
private void btnBang_Click(object sender, EventArgs e)
{
if (chuoitam.Length != 0)
toanhang[1] = Double.Parse(chuoitam);
switch (toantu)
{
case '+': ketqua = toanhang[0] + toanhang[1]; break;
case '-': ketqua = toanhang[0] - toanhang[1]; break;
case '*': ketqua = toanhang[0] * toanhang[1]; break;
case '/': ketqua = toanhang[0] / toanhang[1]; break;
}
txtManHinh.Text = ketqua.ToString();
//Gn li gi tr ban u
buoc = 1;
chuoitam = "";
}
2

Sinh vin t hon chnh thm cho trng hp bm nhiu du = lin tip.

Lng Trn Hy Hin hienlth@hcmup.edu.vn

15/16

Bi tp thc hnh lp trnh Windows Form vi C#


Bc 9: Vit hm x l cc phm thc hin php ton3
//Hm bm phm s
private void Operations(object sender, EventArgs e)
{
Button b = sender as Button;
if(buoc == 1)
toantu = b.Text[0];//Ly k hiu ton t
if (chuoitam.Length == 0)
toanhang[buoc - 1] = ketqua;
else
toanhang[buoc - 1] = Double.Parse(chuoitam);
if (buoc == 2)
{
btnBang_Click(null, null);
toantu = b.Text[0];
toanhang[0] = ketqua;
buoc = 2;
}
else
{
txtManHinh.Text = toanhang[0].ToString();
buoc++;
}
chuoitam = "";
}

2.11.
Bi 11: Chng trnh my tnh ca Windows 7.
Thit k my tnh b ti c cc chc nng nh hnh bn.
Khng cn thit k menu.

Sinh vin t hon chnh thm cho trng hp bm nhiu ln 1 ton t.

Lng Trn Hy Hin hienlth@hcmup.edu.vn

16/16

You might also like