You are on page 1of 63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Khi: i Hc v Cao ng
Nm 2013

Hng dn:

Bi tp thc hnh c chia lm nhiu Module

Mi Module c thit k cho thi lng l 3 tit thc hnh ti lp vi s


hng dn ca ging vin.

Ty theo s tit phn b, mi tun hc c th thc hin nhiu Module.

Sinh vin phi lm tt c cc bi tp trong cc Module tun tng ng.


Nhng sinh vin cha han tt phn bi tp ti lp c trch nhim t lm
tip tc nh.

Cc bi c du (*) l cc bi tp nng cao dnh cho sinh vin kh gii.

Trang 1/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Module 1
Ni dung kin thc thc hnh:
+ Lm quen vi ngn ng C#
+ To ng dng dng Console
+ Mt s thuc tnh, phng thc qua Console.

Bi 1:
Mc ch:
S dng cc properties v methods ca cc i tng trong ng dng Console.
Yu cu:
Vit ng dng dng Console xut li cho.
Yu cu xut ra li cho sau:

Welcome to
C# 2010 Programming!
Programming by your name
Hng dn:

+ M Microsoft Visual Studio 2010

Trang 2/63

i Hc Cng Ngh ng Nai


Khoa Cng Ngh Thng Tin
Project to ra mt file mc nh l: Program.cs c cha mt hm Main()
namespace BaiTapLoiChao
{
class Program
{
static void Main(string[] args)
{
//Vit code trong y
}
}
}
+ Bn sa li hm Main() thnh nh sau.
namespace BaiTapLoiChao
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Welcome to ");
Console.WriteLine("C# 2010 Programming!");
Console.WriteLine("Programming by your name");
Console.ReadLine();
}
}
}
+ Chy chng trnh bng cch nhn phm F5 c kt qu mong mun sau:

Bi 2:
Mc ch:
S dng cc Properties v Methods ca cc i tng trong ng dng Console
Kt hp nh dng xut d liu.
Yu cu:

+ Ro cc statement trong hm Main ca bi 1 chuyn sang dng


comment.
Trang 3/63

i Hc Cng Ngh ng Nai


+ Vit li hm Main nh sau:

Khoa Cng Ngh Thng Tin

static void Main(string[] args)


{
Console.WriteLine("{0}\n{1}", "Welcome to ", "C# 2010 Programming!");
Console.WriteLine( "Programming by your name" );
Console.ReadLine();
}

Chy chng trnh bng cch nhn phm F5 c kt qu mong mun

khng i nh bi tp 1:

Bi 3:
Mc ch:
S dng mt s hm ton hc v nhp d liu t bn phm Kt hp nh dng
xut d liu.
Yu cu:

+ To Project mi vi tn l ThaoTacSo:
Khi chy chng trnh xut ra yu cu nhp vo hai s t bn phm xut ra kt
qu tng ca hai s va nhp.
Xut ra m hnh yu cu c dng:
Nhap So Thu Nhat A: ??
Nhap So Thu Hai B: ??
Tong cua ?? Va ?? La: ??
V d xem hnh :

Trang 4/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Hng dn:

Hm Main() vit code nh sau:


int nSo1, nSo2, nTong=0;
Console.Clear();
Console.Write("{0}", "Nhap So thu nhat: ");
// read first number from user
nSo1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Nhap So thu hai: ");
// read second number from user
nSo2 = Convert.ToInt32(Console.ReadLine());
nTong = nSo1 + nSo2;
Console.WriteLine("Tong cua " + nSo1 + " Va " + nSo2 + " La " + nTong);
Console.ReadLine();
+ M rng lm cc php tnh c bn (cng, tr, nhn, chia)

Bi 4:
Mc ch:
S dng mt s hm ton hc v nhp d liu t bn phm Kt hp nh dng
xut d liu.
Yu cu:

+ To Project mi vi tn l TinhDienTich:
+ Khi chy chng trnh xut ra yu cu nhp vo hai cnh ca mt t gic
vung xut ra kt qu chu vi, din tch.
Xem hnh:

Trang 5/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 5:
Mc ch:
S dng mt s hm ton hc v nhp d liu t bn phm Kt hp nh dng
xut d liu.
Yu cu:

+ To Project mi vi tn l PhuongTrinhBac1:
+ Gii v bin lun phng trnh bc 1 : ax+b=0
+ Sinh vin ch rng phng trnh c 3 trng hp: v nghim, v s nghim
v c mt nghim
+ xem hnh hiu r yu cu

Trang 6/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 6:
Mc ch:
S dng mt s hm ton hc v nhp d liu t bn phm Kt hp nh dng
xut d liu.( lm quen class Math)

Math.Pow(x,y) ly xy
Math.Sqrt(x) ly cn bc 2 ca x
Math.Round(x,2) lm trn x ti 2 n v
Yu cu:

+ To Project mi vi tn l PhuongTrinhBac2:
+ Gii v bin lun phng trnh bc 2 : ax2+bx+c=0
+ Sinh vin ch rng phng trnh c 5 trng hp: v nghim, v s nghim
v c mt nghim, c 2 nghim phn bit, c 1 nghim kp
+ xem hnh hiu r yu cu

Trang 7/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 7:
Mc ch:
S dng mt s hm lng gic v nhp d liu t bn phm Kt hp nh dng
xut d liu.( tip tc lm quen vi class Math)

Math.PI ly s PI
Math.Sin(a) tnh sin, vi a l radian
Math.Cos(a) tnh Cos, vi a l radian
Math.Tan(a) tnh Tan, vi a l radian
Yu cu:

+ To Project mi vi tn l CacHamLuongGiac:
+ Nhp 1 gc x. Tnh v xut sinx, cosx, tgx, cotgx.
+ Sinh vin ch rng hm lng gic truyn vo l 1 s Radian, do cc em phi
i gc x ra radian, cng thc i nh sau a=x*PI/180
+ Xem hnh hiu r yu cu

Gi tnh hm sin:
double fx;
Console.Write("Nhap vao 1 goc: ");
fx = Convert.ToDouble(Console.ReadLine());
double rad = fx * Math.PI / 180;
Console.WriteLine("Sin({0})={1}",fx,Math.Sin(rad));

Trang 8/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 8:
Mc ch:
S dng mt s hm lng gic v nhp d liu t bn phm Kt hp nh dng
xut d liu.( tip tc lm quen vi class Math)
Yu cu:

+ To Project mi vi tn l ChuViDienTichTamGiac:
+Nhp cnh a>0, b>0, c>0. Nu a, b, c to thnh tam gic th hy tnh v xut chu vi,
din tch hnh tam gic. Ngc li thng bo Khng to thnh tam gic
HD: cv=a+b+c, p=cv/2 v dt=

) (

) (

Bi 9(*):
Mc ch:
S dng hm ton hc v nhp d liu t bn phm Kt hp nh dng xut d
liu.
Yu cu:

+ To Project mi vi tn l TinhTongChuoiSo:
+ Nhp x, n tnh tng chui s sau (lm trn 3 ch s):

2 3

(, ) = + + + +
2! 3!
!

Bi 10(*):
Mc ch:
S dng hm ton hc v nhp d liu t bn phm Kt hp nh dng xut d
liu.
Yu cu:

+ To Project mi vi tn l SoGaSoCho:
+ Tm s g v s ch, bit:
Gi :
Va g va ch
X + Y = 36
B li cho trn
2 + 4 = 100
Ba mi su con
Vi
X
l
s g, Y l s Ch
Mt trm chn chn
Trang 9/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Module 2
Ni dung kin thc thc hnh:
+ Lm quen vi ngn ng C#
+ To ng dng trn windows form.
Mc ch:
S dng cc properties, methods v event ca cc i tng trong Windows
Form.

Bi 1:
Yu Cu
Thit k form nh hnh bn di

Vit lnh chng trnh hot ng nh sau:


+ Ngi s dng s nhp Password vo textbox , sau nhn nt Hin Th
th ni dung ca password s c hin th ra trn label bn di
Hng dn:

Trong s kin Click ca button Hin Th, g vo cu lnh sau


lblHienThi.Text = txtPassWord.Text;

+ Ngi s dng nhn nt Tip xo ni dung textbox, label v t con tr


vo texttbox password ngi s dng nhp ni dung mi thun li.
Hng dn:

Trong s kin Click ca button Tip, g vo on lnh sau


lblHienThi.Text = "";
txtPassWord.Clear();
txtPassWord.Focus();

Trang 10/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

+ Nhp nt ng kt thc chng trnh.


Hng dn:

Trong s kin Click ca button ng, g vo cu lnh sau


this.Close();
//hoc Application.Exit();

Bi 2:
Mc ch:
S dng cc s kin (event) c bn trn Form
Yu Cu
Thit k form ch cha 1 button (xem hnh)

Khi form hin th, s xut ngay messageBox hin th li cho nh sau

V khi ngi s dng Click v button hay vo form cng s xut hin cc
message box hi th cc thng bo tng ng nh :
Button was clicked.
Form was clicked.

Trang 11/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Hng Dn:
// s kin khi Button c click
private void bntClickMe_Click( object sender, EventArgs e )
{
MessageBox.Show( "Button was clicked." );
}

// s kin khi load form


private void frmSimpleEvent_Load(object sender, EventArgs e)
{
MessageBox.Show("Hi , Welcome to C# 2010 programming!");
}

// s kin khi form c Click


private void frmSimpleEvent _Click(object sender, EventArgs e)
{
MessageBox.Show("Form was clicked.");

Bi 3:
Thit k giao din nh hnh sau:
lblHoTen
txtHo
txtTen
btnHo

btnHoTen

Trang 12/63

i Hc Cng Ngh ng Nai


Vit lnh chng trnh hot ng nh sau:

Khoa Cng Ngh Thng Tin

Nhn vo Button btnHo th gn ni dung ca txtHo cho lblHoTen

Nhn vo Button btnTen th gn ni dung ca txtTen cho lblHoTen

Nhn vo Button btnHoTen th gn ni dung ca txtHo cng vi txtTen cho lblHoTen

Hng dn: lblHoTen.Text = txtHo.Text + + txtTen.Text

Nhn Double click vo lblHoTen th ni dung ca lblHoTen b xo

Nhn vo btnKetThuc thi ng chng trnh

Bi 4:
Mc ch:
S dng cc control property v Layout trn Form
Yu cu:
Vi giao din ca bi 2, yu cu sinh vin s dng thuc tnh Dock v
Anchor sao cho khi ngi s dng resize kch thc form, th cc i tng trn
form vn c sp xp hp l, d nhn.

Bi 5:
Yu Cu:

txtNhapTen

Thit k giao din nh hnh bn di

chkBold
radRed

lblLapTrinh
Trang 13/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Yu cu
1. khi Form load.
a. Radiobutton Red c chn mc nh
b. Con tr xut hin ngay ti Nhp tn.
2. Khi g tn vo Nhp tn (g k t no th lable lp trnh chy song song cng
gi tr trong nhp tn)
Hng dn:
vit trong s kin

txtNhapTen_TextChanged(..)

private void txtNhapTen_TextChanged(object sender, EventArgs e)


{

lblLapTrinh.Text = txtNhapTen.Text
}

3. Nhn nt thot hoc Esc th thot chng trnh.


4. Nhn Radiobutton Red, Green.. th i mu ch trong Lp trnh bi v nhp
tn c mu tng ng vi Radiobutton ph hp.
private void raddo_CheckedChanged(object sender, EventArgs e)
{
lblLapTrinh.ForeColor = Color.Red;
txtNhapTen.ForeColor = Color.Red;
}

5. Nhn cc CheckBox ch m, nghing th i font ch trong Lp trnh bi v


nhp tn tng ng.
private void chkdam_CheckedChanged(object sender, EventArgs e)
{
lblLapTrinh.Font = new Font(lblLapTrinh.Font.Name, lblLapTrinh.Font.Size,
lblLapTrinh.Font.Style ^ FontStyle.Bold);
}

Bi 6:

Trang 14/63

i Hc Cng Ngh ng Nai


Thit k giao din nh hnh bn di

Khoa Cng Ngh Thng Tin

txtName

chkVisible

txtMessage
e

btnDisplay
radRed

btnClear
picSmall

Vit lnh chng trnh hot ng nh sau:

btnExit

picBig
lblMessage

Khi form va load ln th:


Con tr c t ti v tr Name
Hnh CDRom ln hin ngc li hnh nh n.
Hng dn: hiu chnh property Visible ca picSmall thnh false (trong lc thit
k)
a cht vo hnh CDRom (ln, nh) hin ln tooltip Click Me

Hiu chnh TabIndex sao cho hp l (Tham kho hnh vo Menu View\Tab Order)

Trang 15/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Nhn vo Button Display hoc phm Enter th gn ni dung ca Name v Message


cho Label Message (lblMessage)

Hng dn: lblMessage.Text = txtName.Text + " : " +


txtMessage.Text;

Nhn vo Button Clear th xa ni dung trong Name v Message

Hng dn:
txtMessage.Clear ();
txtName.Clear();

Nhn vo RadioButton (Red, Green ) th i mu ch trong Message thnh mu


tng ng.

Hng dn: lblMessage.ForeColor = Color.Red;

n hin Message (lblMessage) ph thuc vo gi tr ca Check box (chkVisible)

Hng dn: lblMessage.Visible = chkVisible.Checked;:


Nhn vo Button Exit hoc phm Esc thi ng chng trnh

This.Close();

Click chut vo hnh CDRom no th hnh n i v hin hnh CDRom khc ln

Hng dn:
picBig.Visible = false;
picSmall.Visible = true;
Khi chng trnh chy han chnh hy hiu chnh hai hnh CDRom chng ln nhau
sao cho ng tm.

Bi 7:
Mc ch:
Kt hp d dng component ToolTip trn cc control
Yu cu

Trang 16/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Yu cu:
1. Khi chng trnh va thc thi.
a. Form c hin th gia mn hnh
b. Cc i tng c neo sao cho khi ngi dng thay i kch thc
form th cc i tng c resize kch thc sao cho d nhn
c. picTurnOn c hin th, picTurnOff c n ngay bn di picTurnOn.
Khi ngi dng a chut vo picTurnOn s xut hin tip Click me to
Turn OFF the Light!, v ngc li trn picTurnOFF.
Hng dn: s dng component ToolTip

d. Hin tn mc nh vo Name
e. Lable ngay bn di pictureBox hin th thng bo

Jack. Turn Off the Light ,please!


Hng dn:
private void FrmLightSwitcher_Load(object sender, EventArgs e)
{
txtName.Text = "Jack";
lblHienThi.Text = txtName.Text + " Turn Off the Light ,please!";
}

2. Khi ngi dng Click ln picture no th picture s phi n i, picture cn li


xut hin. ng thi thay i ni dung trn label ph hp.
private void picTurnOn_Click(object sender, EventArgs e)
{
picTurnOn.Visible = false;
picTurnOFF.Visible = true;
lblHienThi.Text = txtName.Text + " Turn Off the Light ,please!";

}
3. Nt Exit cho php ng ng dng

Bi 8:

Adding Controls Programmatically

Mc ch:
Trang 17/63

i Hc Cng Ngh ng Nai


Khoa Cng Ngh Thng Tin
Lp trnh bin c trn cc i tng c to ng lc thc thi(run time)
Yu cu
Thit k form gm 2 button Add v Remove. Khi ngi s dng Click v button
Add, chng trnh s pht sinh ng 1 button trn form (mi button l mt Element th
n). Khi button Remove c Click, th button trn cng s c remove. (C th hnh
dung y l mt Stack). (xem hnh)
Khi ngi dng Click vo mt Element no th s hin th trang thi ca Element ln
mt label pha trn form. (xem hnh)

Gi :
Xem hng dn thc hin trong gio trnh

Bi 9:
Mc ch:
S dng cc dialog c cung cp bi C#.
S dng RichTextBox
Yu cu
Ex1: Using Common Dialog Boxes

Trang 18/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Gi :
Xem hng dn thc hin trong gio trnh

Bi 10:
Mc ch:
S dng i tng LinkLable lin kt n mt WebSite, m ng dng
Yu cu:

Gi :

Using LinkLabel Controls (page 456 )

Xem hng dn thc hin trong gio trnh

Bi 11:
Mc ch:

S dng GroupBox v Panel

Yu cu :

Using GroupBox and Panel Controls


Trang 19/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Gi :
Xem hng dn thc hin trong gio trnh

Bi 12:
Mc ch:
S dng ListBox, CheckListBox, Combobox
Yu cu
Step by Step
Ex1: Using ListBox and CheckedListBox Controls (page 477)

Ex2: Using ComboBox Controls

Trang 20/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Gi :
Xem hng dn thc hin trong gio trnh

Trang 21/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 13:
Mc ch:
Thao tc d liu s trn Listbox
Yu cu
Thit k form v thc hin cc chc nng sau:

Khi ngi s dng nhp mt s vo textbox ri Enter hoc nhp vo nt cp nht th s ny


c thm vo listbox, ng thi ni dung trong textbox b xa v focus c chuyn v
textbox.
Ngi dng nhn vo nt no th thc hin chc nng tng ng ca nt .

Gi :
Lu thuc tnh AcceptButton ca form
Phn t u tin trong danh sch c Index = 0

Trang 22/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 14:
Mc ch:

Yu cu
Thit k form v thc hin cc chc nng sau

Quy nh form hin th gia mn hnh. Khng cho ngi s dng thay i kch thc
form.

Quy nh vic di chuyn Tab hp l.

Cc ListBox c php chn nhiu mc (kt hp gia phm Shift, Control v chut)

Khi ngi s dng Click nt Cp nht hoc nhn phm Enter th mt nh nhp tn
sinh vin t textbox vo danh sch lp A (khng chp nhn d liu rng). Theo
ngi s dng c th chn lp cp nht t combobox lp.

Cc nt > v < khi c Click s di chuyn tt c cc mc ang chn sang


ListBox bn kia tng ng.

Cc nt >> v << khi c Click s di chuyn ton cc mc sang Listbox bn kia


tng ng.

Nt lnh Xa lp A, Xa lp B cho php xa cc mc ang chn trong list hin hnh.

Trang 23/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 15:
Mc ch:
S dng cc control ca Visual Studio
Yu cu
Step by step
Ex1: Using DomainUpDown and NumericUpDown Controls

Ex2: The MonthCalendar and DateTimePicker Controls

Ex3:The Timer, TrackBar, and ProgressBar Controls

Trang 24/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Ex4: Using TabControl Controls

Gi :
Xem hng dn thc hin trong gio trnh (Page 491)

Bi 16:
Mc ch:
Xy dng h thng menu : MainMenu v ContextMenu(menu cm ng
cnh) (Page 498)
Yu cu
Step by Step
Ex: Creating a Main Menu for a Form

Trang 25/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Ex : Creating a Context Menu for a Form

Gi :
Xem hng dn thc hin trong gio trnh(page 498)

Bi 17:
Trang 26/63

i Hc Cng Ngh ng Nai


Mc ch:

Khoa Cng Ngh Thng Tin

S dng menu
Yu cu
Thit k b sung h thng menu cho Bi tp s 14.

Cc menu item s thc hin chc nng tng t nh cc button ca bi 14

Menu Thng tin khi c Click s xut messageBox, cho bit thng tin ca sinh vin
thc hin chng trnh.

Gi :
T s kin ca memu item gi li cc s kin ca Button x l

Bi 18:
Mc ch:
Xy dng ng dng a form,
S dng form MDI
Yu cu
Step by step
Trang 27/63

i Hc Cng Ngh ng Nai


Creating an MDI Application (page 512)

Gi :
Xem hng dn thc hin trong gio trnh

Bi 19:
Mc ch:
Xy dng ng dng kt hp i tng statusBar
Yu cu
Step by step
Creating a Status Bar for a Form

Trang 28/63

Khoa Cng Ngh Thng Tin

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Gi :
Xem hng dn thc hin trong gio trnh

Bi 20:
Mc ch:
Xy dng ng dng lin kt nhim form
Yu cu
Step by step
Creating an MDI Application (Page 512)
Gi :
Xem hng dn thc hin trong gio trnh

Bi 21:
Mc ch:
To mt ng dng lin kt cc ng dng to ra t cc project trc.
To form khi ng (form Flash)
Trang 29/63

i Hc Cng Ngh ng Nai


To form About

Khoa Cng Ngh Thng Tin

Yu cu
T chc form chnh nh mu

Gi :
Thit k Form:
StartPosition thit lp = CenterToScreen;
WindowState thit lp = MaximumSize;

Lin kt cc project c sn
Vo menu Project chn <Add Existing Items>
Chn File cn Add vo chng trnh (*.cs)
Vit code lin kt form
frmFormOld f = new frmFormOld();
f.MdiParent = this;
f.Show();

Thit k Form Splash (frmFlashForm)

Hng dn:

Trang 30/63

i Hc Cng Ngh ng Nai


Thit k Form:

Khoa Cng Ngh Thng Tin

FormBorderStyle thit lp l None


StartPosition thit lp l CenterToScreen
TopMost thit lp = true
Th vo form 1 i tng Timer iu khin vic ng form t ng.

Thit lp thuc tnh : Enabled=True v Interval = 10000


Trong s kin Timer_tick() g vo on code
this.DialogResult = DialogResult.OK;
timer1.Enabled = false;

Thay i code trong class Program.cs


Vit li hm main nh sau
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

frmFlashForm f = new frmFlashForm();


f.ShowDialog();
if (f.DialogResult == DialogResult.OK)
{
Application.Run(new frmMain());
}
}

Thit k Form About (tng t form Splash)

Bi 22:
Mc ch:
To thanh cng c (toolBar) trn ng dng
Yu cu
Trang 31/63

i Hc Cng Ngh ng Nai


Step by step

Khoa Cng Ngh Thng Tin

creating aToolbar for a Form (page 503)


Gi :
Xem hng dn thc hin trong gio trnh

Trang 32/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Module 3
Ni dung kin thc thc hnh:
+ Cc kiu d liu trn C#
+ Cu trc iu khin

Mc ch:
S dng thnh tho cc kiu d liu, cc cu trc iu khin c bn trn C#.

Bi 1:
Thit k giao din nh hnh v

Yu cu:

Khi form thc thi


o

Tt c text boxes v labels u rng.

t focus vo text box Tn Hng v xc lp vic di chuyn Tab hp l (menu


View\Tab Order)

Form hin th gia mn hnh. (StartPosition =CenterScreen )

Thit lp nt Thanh Tan nhn s kin phm Enter (AcceptButton), nt Tip


nhn s kin phm ESC (CancelButton)

Thc hin canh l phi cho cc i tng cha d liu l s (Text Align=Right)

X l nt lnh Thanh Tan.

Trang 33/63

i Hc Cng Ngh ng Nai


o

Khoa Cng Ngh Thng Tin

Cc text box S lng, n Gi buc phi c gi tr v ch cho php nhp s.


Thm vo :

S lng >=0. (int)

n gi >=0 (decimal)

Cung cp cc Message Box khc nhau thng bo r rng cho vic d liu b nhp sai.
o

Tnh ton cho mt hng hin ti xut kt qu ra label Thnh Tin.


Thnh tin = s lng * n gi;

Nt Tip:
o

Xa ni dung cc textbox v label

t focus vo textbox u tin

Nt Kt Thc:
o

Pht sinh Messagebox hi li vic ng form c chnh xc khng, nu ngi s


dng xc nhn bng nt Yes th cho that chng trnh

Hng Dn :

Trang 34/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 2:
Thit k v vit chng trnh tnh din tch ca hnh ch nht. Phi kim tra d liu nhp vo t
bn phm mt cch cht ch.

Bi 3:
Thit k v vit chng trnh tnh chu vi ca hnh trn c bn knh R nhp vo t bn phm (lu
kim tra d liu cht ch)(Chuvi=2*pi*R). Dng hm Math.PI

Trang 35/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 4
Thit k v x l chng trnh gii phng trnh bc 1, 2.

Bi 5:
Mc ch:
S dng hng s, bin ton cc (module variable)
Yu cu
Thit k giao din nh hnh bn di.

Yu cu:
1) Sinh vin t thit k cc i tng trn form cho ph hp
2) Thit t TabIndex cho hp l.
3) Nhn nt Tnh hoc Enter th tnh v hin thng tin ln cc tng ng.
4) Nhn vo Exit hoc Esc th thot chng trnh.
Ghi ch: s dng bin ton cc v hng s cho hp l

Trang 36/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 6:
Mc ch:
S dng hng s, bin ton cc (module variable)
Yu cu
Thit k giao din nh hnh bn di.

1. Khi chng trnh va thc thi:


-

Form c hin th gia mn hnh. Canh l phi cho cc control cha d liu l
s, thit lp h thng Tab hp l.

Thit lp nt Tnh TT nhn phm Enter thay cho s kin Click.

2. Yu cu ci t
Tn KHch hng khng c php rng.
S lng sch l s nguyn dng
Mi quyn sch u c bn vi gi l 20000.
-

Nt Tnh TT: tnh thnh tin v xut kt qu ln lable Thnh tin

Thnh tin = S lng * n Gi ;


Lu : Nu Khch hng l SV th c gim 5% thnh tin.
Trang 37/63

i Hc Cng Ngh ng Nai


-

Khoa Cng Ngh Thng Tin

Nt Tip:
-

Xa ni dung cc control trong gourpbox Ha n

t focus cho Textbox Tn Khch Hng

Nt Thng K: Tnh v hin th kt qu trn cc lable trong groupbox Thng k

Nt Kt Thc: Pht sinh messageBox hi li ngi dng c tht s mun ng


ng dng hay khng?

Bi 7:
Vit chng trnh nhp vo nm dng lch v xut nm m lch tng ng.
Bit rng : Nm m = Can + Chi;
Can = Nm dng % 10 :
0

Canh

Tn

Nhm

Qu

Gip

Bnh

inh

Mu

Chi = dng lch % 12 :


0

10

11

Thn

Du

Tut

Hi

Su

Dn

Mo

Thn

Ng

Mi

//Khai bao bien


int intNamDuong;
string strCan="";
string strChi="";

Trang 38/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

//1. kiem tra khac rong


//2. Gan Gia tri
//3. kiem tra s dng

//tinh can
switch (intNamDuong % 10)
{
case 0:
strCan = "Canh";
break;
.
.
.
case 9:
strCan = "K";
break;
}
//Tinh Chi
switch (intNamDuong % 12)
{
case 0:
strChi = "Thn";
break;

.
.
case 11:
strChi = "Mi";
break;
}
//xut kt qu ra label

Trang 39/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Trang 40/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 8:
Chng trinh quay s may mn

Thit k giao din nh hnh trn


-

Groupbox cha 3 labe.

2 Label dng hin th kt qu (canh l pi)

3 button nh hnh v.

Yu cu
Khi chng trnh va bt u
-

3 label s hin th 3 s 7.

My tnh c 100 ng

Ngi chi c 100 ng

Khi Click nt quay s


Lut chi:
Mi ln quay s, ngi chi phi tr trc 30 ng, tng ng l my s c cng
thm 30 ng. V nu ngi chi c s tin t hn 30 ng th s khng c php chi tip
Nu mi ln quay c s 7, ngi chi s c thng nh sau
-

Nu u tin l s 7 (random t 0 n 8), c thng 100 ng + 50% s tin


ca my.

Nu s 2 l s 7(random t 0 n 9), ngi chi c thng 30 ng + 50%


tin ca my.

Nu s 3 l s 7(random t 0 n 10), ngi chi c thng 10 ng;

(s tin ngi chi s c cng dn nu c 3 cng l s 7, tin my s gim i phn


trm tng ng)

Trang 41/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Nt game mi
Cho php 1 lc chi mi han tan (set li tn ngi chi v tin my l 100)

Hng dn:
//Khai bo bin
decimal tienmay = 100;
decimal tiennguoi = 100;

//X l trn s kin ca timer


private void timer1_Tick(object sender, EventArgs e)
{
decimal tienthuong;
int so;
int so3;
int so2;
timer1.Interval += 5;//tng gi tr ca timer
//to s ngu nhin
Random ran = new Random();
so = ran.Next(0, 8);
so2 = ran.Next(0, 9);
so3 = ran.Next(0, 10);

//xut s ngu nhin ra label


lblSo.Text = so.ToString();
lblSo2.Text = so2.ToString();

Trang 42/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

lblSo3.Text = so3.ToString();

//kim tra s ngu nhin va to ra c phi l s 7 hay khng


if (timer1.Interval > 200) // iu kin dng ca timer
{
timer1.Stop();
if (so == 7)
{
//tnh tin thng
//tnh tin ngi chi nhn c
//tnh tin my
tienthuong = 100 + (tienmay * 50) / 100;
tiennguoi = tiennguoi + tienthuong;
tienmay = tienmay - (tienmay * 50) / 100;
//xut thng bo
MessageBox.Show("Bn c thng " + tienthuong + " ng", "Lucky
Seven !");
}
if (so2 == 7)
{
//tnh tin thng
//tnh tin ngi chi nhn c
//tnh tin my
}
if (so3 == 7)
{
//tnh tin thng
//tnh tin ngi chi nhn c
//tnh tin my

Trang 43/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

}
//hin th kt qu
lblTienNguoiChoi.Text = tiennguoi.ToString();
lblTienMay.Text = tienmay.ToString();

}
}
//x l nt quay s
private void btnQuaySo_Click(object sender, EventArgs e)
{
if (tiennguoi >= 30)//kim tra ngi chi c tin khng
{
timer1.Enabled = true;//kch hot timer
timer1.Interval = 2;//quy nh thi gian ti kch ht timer
tienmay = tienmay + 30;//tng tin ca MY
tiennguoi = tiennguoi - 30;//gim tin ngi chi
//hin th kt qu ra mn hnh
}
Else//khng cn tin: over Game
{
// Thng bo khng th chi tip cho khng tin
// Kha timer
// kha nt quay s
}
}

Trang 44/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 9:
Vit chng trnh cho php pht sinh 1 s nguyn thuc [0,9], sau cho ngi dng
on s v chng trnh s hin kt qu xem ngi dng c on ng s pht sinh
hay khng.
HD: Dng lp Random pht sinh s ngu nhin.

Bi 10:
Thit k giao din trnh by s cc ch ngi ca mt rp chiu phim gip ngi s dng
chn v tr mun mua (xem hnh bn di). Trn s ny cng th hin nhng v tr bn
v v nhng v tr cha bn v bng cch th hin mu khc nhau (gh cha bn v mu
trng, gh bn v mu vng, gh ang chn mu xanh).

Khi khi ng, ng dng phi nm gia mn hnh. Khng cho php ngi dng thay i kch
thc form.
Khi ngi s dng nhp chut ti mt v tr trn s th:
o

Nu y l v tr cha bn v th i mu ca v tr ny sang mu xanh cho bit y l v


tr ang chn.

Nu y l v tr ang chn (c mu xanh) th i mu ca v tr ny tr v mu trng

Nu y l mt v tr bn v th xut hin mt thng bo cho ngi s dng bit thng


qua messageBox.

Sau khi chn cc v tr ngi s sng c th nhn vo nt CHN hoc HY B.

Nu click vo nt CHN (hoc nhn phm Enter) th:

i mu cc v tr chn (mu xanh) trn s sang mu vng (cho bit v tr bn v) v


xut ln label thnh tin phi tr cho s v mua ( gi s gi v l 100/gh)

Nu click vo nt HY B (hoc nhn phn ESC) th:

i mu cc v tr chn (mu xanh) trn s sang mu trng tr li v xut ln label thnh


tin gi tr 0

Trang 45/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 11:
Hy to mt Project dng qun l gi thu my ca mt phng my c giao din v
yu cu nh sau:
o Khi form va load ln mn hnh th
cc CheckBox Bt u c Enabled=True
cc CheckBox Kt thc c Enabled=False
Cc Label c Caption= rng
o Khi ngi s dng Click vo ChechBox Bt u ca mt
my v nu thuc tnh value ca n =1 th:
Hin Gi hin ti ln Label bt u ca my
tng ng
Cho thuc tnh Enabled ca CheckBox Bt u
=False
Cho thuc tnh Enabled ca CheckBox Kt thc
=True
o Khi ngi s dng Click vo ChechBox Kt thc ca mt my v nu thuc tnh
value ca n =1 th:
Hin Gi hin ti ln Label Kt thc ca my tng ng
Da vo Gi v Pht (khng cn quan tm n s giy) trn cc label Bt
u v Kt thc tnh ra s tin phi tr, ri dng Msgbox
thng bo cho ngi s dng nh hnh bn (tin thu
my l 3000/gi)
Xa ni dung trong cc Label Bt u v Kt thc
Cho thuc tnh Enabled ca CheckBox Bt u =True
Cho thuc tnh Enabled ca CheckBox Kt thc =False
Cho thuc tnh Value ca CheckBox Bt u =0
Cho thuc tnh Value ca CheckBox Kt thc =0
Khi ngi s dng Click vo nt Dng chng trnh th kim tra nu c my ang
thu phi nhc nh ngi s dng bng MsgBox, khi no ngi s dng tht s mun
kt thc th mi dng chng trnh.

Bi 12:
Hy to mt Project dng qun l gi thu my ca mt phng my c giao din v
yu cu nh sau:

o Khi form va load ln mn hnh th


Cc image trong khung my 1 v my 2 c picture l My tnh
Cc Label c Text = rng
Trang 46/63

i Hc Cng Ngh ng Nai


Khoa Cng Ngh Thng Tin
o Khi ngi s dng click vo image ca my 1 hoc my 2 th:
Nu l my cha thu:
i picture ca image thnh hnh ng h
Hin gi hin ti vo label bt u ca my (label pha trn)
Nu l my ang thu:
Hin gi hin ti vo label Kt thc ca my (label pha di)
Da vo Gi v Pht (khng cn quan tm n s giy) trn cc label Bt
u v Kt thc tnh ra s tin phi tr, ri dng Msgbox thng bo (tin thu my
l 3000/gi)
i picture ca image thnh hnh My tnh
Xa ni dung trong cc Label Bt u v Kt thc
Khi ngi s dng Click vo nt Kt thc th kim tra nu c
my ang thu phi nhc nh ngi s dng bng MsgBox, khi
no ngi s dng tht s mun kt thc th mi dng chng
trnh.

Trang 47/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Module 4
Ni dung kin thc thc hnh:
+ X l ngai l (Error Handling for the User Interface).
+ X l li khi nhp liu (VALIDATING USER INPUT)

Bi 1 :
Mc ch:
S dng lp Exception by li chng trnh.
S dng MessageBox hin th thng bo li

Yu cu:
Vit chng trnh tnh s nhin liu tiu th trung bnh theo giao din sau

Phi bt li chc ch cc trng hp sau:


-

S dm ng, s gallon tiu th l s dng.

Li trn s

Li chia cho s 0

Hng dn :
Gio trnh trang

Bi 3 :
Trang 48/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Mc ch:
S dng lp Exception by li chng trnh.
S dng MessageBox hin th thng bo li
Yu cu:
Vit li bi 1, nhng s dng i tng ErrorProvider hi th cc thng bo li ngay
trn control

Bi 3 :
Mc ch:
S dng lp Exception by li chng trnh.
S dng finally Block
Yu cu:
Thit k giao din nh hnh bn di. Khi ngi dng Click nt Save, chng
trnh s lu li ni dung trong TextBox save vi tn c nhp vo tr textbox
name.

Lu :
Chng trnh phi thc hin vic ng file bt k c xy ra li hay khng.
Hng dn:
Gio trnh trang

Trang 49/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 4 :
Mc ch:
S dng Component ErrorProvider kt hp k thut Validation trn cc control
Yu cu:
Vit li bi tp mt nhng s dng chn li ngi dng bng k thut
Validation.

Lu : Khi c li nhp liu trn cc Textbox th ch gi focus khng cho thc hin tnh
tan, nhng vn phi cho ngi dng Click nt ng form.
Hng dn:
Thit lp thuc tnh CausesValidation ca Form l False
Khai bo thm mt bin tan cc kim tra ngi dng Click ng form
private bool closingFlag = false;
Trong s kin ng form b sung code

Xem thm gio trnh trang

Trang 50/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 5 :
Mc ch:
Lp trnh vi lp Exception thuc khng gian System.IO.IOException
S dng cc component OpenFileDialog, SaveFileDialog, ColorDialog, and FontDialog.
Yu cu:

Lu : c/ghi file cn b sung khng gian using System.IO


Xem gio trnh trang

Bi 6 :
Mc ch:
S dng k thut Validating User Input.
Yu cu:
Thit k form login nh hnh bn di.
Xut thng bo login hp l nu ni dung ca 2 textbox UserName v Password l
khc rng v khng c bt k khang trng no bn trong. Ngc li xut thng bo li
c th thng qua ErrorProvider.
Cho php ngi dng ng Form bng nt Cancle ngay c khi xy ra li trn bt k
trng d liu no.
Xem thm hng dn trong gio trnh trang

Trang 51/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 7 :
Mc ch:
S dng lp Exception by li chng trnh
S dng Component ErrorProvider kt hp k thut Validation trn cc control
Yu cu:
Thc hin li kim li cc bi tp thuc Module3

Trang 52/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Module 5
Ni dung kin thc thc hnh:
+ To ng dng trn consoleApplication v windows form.
+ S dng Mng v danh sch

Bi 1:
Mc ch:
Xy dng mng mt chiu trn ConsoleApp
Yu cu:
Nhp mt mng 1 chiu c N phn t (N<20) (cc gi tr c pht sinh ngu nhin trong [100, 100])
a.

Tm s ln nht, nh nht trong mng. Xut ra v tr cc gi tr ny.

b.

m xem trong mng c bao nhiu s dng, bao nhiu s m, bao nhiu s 0.

c.

Nhp vo s nguyn x, kim tra xem x c trong mng hay khng.

d.

Tm s dng nh nht trong mng, s m ln nht trong mng

e.

In dy gim dn.

Bi 2:
Mc ch:
Xy dng mng mt chiu trn ConsoleApp
Yu cu:
Nhp mt mng 2 chiu c N x N phn t (N<20) (cc gi tr c pht sinh ngu nhin trong
[-100,100])
a. Tm s ln nht, nh nht trong mng. Xut ra v tr cc gi tr ny.
b. m xem trong mng c bao nhiu s dng, bao nhiu s m, bao nhiu s 0.
c. m s dng, s m, s 0 di ng cho chnh, cho ph.

Trang 53/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

d. Tnh tng cc phn t trong ng cho chnh, cho ph.


e. Tnh tng cc phn t nm bn di ng cho chnh, cho ph.
f.

Tm s ln nht trong tng dng ca mng.

Bi 3:
Mc ch:
S dng mng mt chiu
Yu cu:

Thit k Form nh hnh sau:

Trong 2 group box s cha 2 label, hin th mng v kt qu x l trn cc button tng
ng.
Hng dn :
1. khai bo mng tan cc, vi kch thc mng MAX_SIZE l 1 hng s.

2. KHi to mng trong Form_Load

Trang 54/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

3. Xy dng cc phng thc theo yu cu

4. Gi s dng cc phng thc ti cc button.

Bi 4:
Mc ch:
S dng mng hai chiu trn ConsoleApp
Yu cu:

Trang 55/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Nhp mt mng 2 chiu c N x N phn t (N<20) (cc gi tr c pht sinh ngu nhin trong
[-100,100]). Tm s dng nh nht trong mng.
V d:
-9

-3

-30

3
0
7

S dng nh nht trong mng l 1

Bi 4:
Mc ch:
S dng mng hai chiu trn ConsoleApp
Yu cu:
Nhp mt mng 2 chiu c N x N phn t (N<20) (cc gi tr c pht sinh ngu nhin trong
[-100,100]). Hy trch mng ny ra thnh hai mng con: mt mng cha cc s dng, mt
mng cha cc s m (gi nguyn th t dng)
V d:
9

-3

-30

3
0
7

Bi 5:
Mc ch:
S dng Arraylist,

Yu cu:

Xy dng t in n gin nh sau

Trang 56/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Khi nhp vo combobox 1 t cn tra th chng trnh s d tm n ch no khp


vi k t gn nht

Khi nhn nt Enter hoc Doubleclick vo t cn tra th ngha tng ng ca t s


hin th vo textbox bn phi tng ng.

Danh sch cc t lu sn vo object (word) Arraylist

Hng Dn:
Bn tri l Combobox th hin di dng Simple, cha danh sch cc t cn tra cu.
Bn phi l TextBox th hin di dng MultiLine, ghi ngha ca cc t c chn bn
Combobox.

Trang 57/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Module 6
Ni dung kin thc thc hnh:
+ To ng dng theo m hnh hng i tng (OOP).

Bi 1:

Yu cu:
Thi k class Ha n p ng yu cu x l ca giao din trn.
Hng dn:
1. 1. To cc field private:

Tn hng, s lng, on gi.


2. To cc field static:

S ha on, doanh thu.


3. To cc property thng thng.
4. To property ReadOnly i vi cc Field static.
5. To cc Contructor
6. To cc phng thc

Trang 58/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 2:

Yu cu:
1. Thit k Form nh hnh sau:

2. Thit k class Ha n p ng yu cu x l ca giao din trn.

Hng dn:

To cc field private:

Trang 59/63

i Hc Cng Ngh ng Nai


Khoa Cng Ngh Thng Tin
o H tn, a ch, in thoi, gi tin, mu xe.

To cc field static:
o

S khch hng, s khch mua xe en, doanh thu.

To cc property thng thng.

To property ReadOnly i vi cc Field static.

To cc Contructor

Xy dng cc phng thc x l tnh ton.

V d:

V d:

Trang 60/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Module 7
Ni dung kin thc thc hnh:
S dng cc chui (String)

Bi 1:

Vit chng trnh c giao din v thc hin cc yu cu sau:


Khi form c load ln th ch c nt nhp liu , nt kt thc l s dng c,
nt nhp d liu c focus.
Khi nt nhp d liu c n th cc nt lnh khc c sng ln xo ni dung
ca Textbox nhp liu v Setfocus cho Textbox ny ( s dng phng thc Setfocus).
Khi mt trong cc nt ( ngoi tr nt Nhp D Liu v nt Kt Thc) c chn th kt
qu s hin th ln Textbox v cc nt lnh s b m (ngay c nt va nhn).

Trang 61/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 2:
To mn hnh m s t nh sau

Da vo chui nhp , m s t nhp theo quy nh cc t ngn cch nhau bng k


t trng (space).

Bi 3:
To mt Project nh yu cu sau:
Khi chn nt Search th chng trnh s thng bo cho ngi s dng bit ni dung
nhp trong Search string c xut hin trong Main string hay khng
Khi chn nt Replace th chng trnh s thay th trong Main String chui gi tr Search
String bng chui Replace String.

Trang 62/63

i Hc Cng Ngh ng Nai

Khoa Cng Ngh Thng Tin

Bi 4:

Vit chng trnh thc hin vic thc hnh nh my ch, giao din nh hnh bn.
Yu cu : Khi nhn 1 k t hot 1 s no th k t hot s chuyn sang mu , khi
th phm ra th mu ch tr li mu en. ng thi k t va c nhn s hin bn
di Text box.

Bi 1:
Thit k giao din v vit code thc hin nhng yu cu sau:
Cho php nhp mt chui H Tn
Xut H, Ch lt, Tn ca chui h tn vo cc label tng ng khi click chut
vo mt nt lnh
To iu kin ngi s dng thun li khi nhp h tn mi.
C nt lnh ng chng trnh v phi hi ngi s dng trc khi tht s
kt thc chng trnh

Trang 63/63

You might also like