Professional Documents
Culture Documents
TapBaiGiang LTWinCB-ver1.1
TapBaiGiang LTWinCB-ver1.1
BI GING
LP TRINH WINDOWS CN BAN
Gio vin: Nguyn Ba Phuc
Mc lc
Chng 5: HM ........................................................................................................................... 58
5.1. Hm ................................................................................................................................. 58
5.1.1. Gii thiu ................................................................................................................... 58
5.1.2. V d .......................................................................................................................... 58
5.2. Bi tp.............................................................................................................................. 61
Chng 6: MANG MT CHIU ............................................................................................... 62
6.1. Mng mt chiu ............................................................................................................... 62
6.1.1. Khai bo .................................................................................................................... 62
6.1.2. Nhp mng trong Console ......................................................................................... 62
6.1.3. Xut mng trong Console.......................................................................................... 62
6.1.4. Tnh tng cc phn t dng .................................................................................... 63
6.1.5. Hm Main .................................................................................................................. 63
6.2. Bi tp.............................................................................................................................. 63
Chng 7: CAC CONTROL NNG CAO ................................................................................ 64
7.1. Cc control nng cao ....................................................................................................... 64
7.1.1. MenuStrip .................................................................................................................. 64
7.1.2. ComboBox ................................................................................................................ 65
7.1.3. TreeView ................................................................................................................... 67
7.1.4. ListView .................................................................................................................... 69
7.2. Bi tp.............................................................................................................................. 70
1.1.3. To mi Project
Trn menu bar, click chut chn File -> New->Project ho c nh n t h p phim Ctrl+Shift+N
1.1.4. Lu Project/Solution
Trn menu bar, click chut chn File -> Save All. Hoc nhn t h p phm Ctrl+Shift+S.
1.1.5. M Project/Solution
Trn menu bar, click chut chn File -> Open -> Project/Solution. Hoc nhn t h p phm
Ctrl+Shift+O.
Hp thoi (dialog) Open Project xut hin. Chn tn tp tin Project cn m. Sau click chut
vo nt Open m Project.
10
* K hiu kt thc
}
* Lnh gn
=
Lu :
+ Ngn ng C# phn bit ch hoa thng
+ Tt c cc lnh trong ngn ng C# u kt thc bng du chm phy (;)
+ Cu trc ca mt chng trnh da ng ng
using ....
namespace ...
{
class ...
{
static void Main(string[] args)
{
...
...
}
}
}
PHP TOAN
Cng
Tr
Nhn
12
DIN GIAI
Chia
Ly phn d (mod)
TN KIU D LIU
T KHA
S nguyn
S thc
float
Chui
String
S nguyn di
int
long
V D
int n;
n = 5
float d;
d = 8.5;
string s;
s = abc;
long t;
t = 52;
bool a;
Lun l (ng/sai)
bool
a = true;
bool b;
b = false;
lnh_N;
}
* Dng 2:
if (biu_thc_iu_kin)
13
{
khi_lnh_1;
}
else
{
khi_lnh_2;
}
* Dng 3:
switch (biu_thc_chn)
{
case
Gi_tr_1:
Lnh_1;
Lnh_2;
...
break;
case
Gi_tr_2:
Lnh_1;
Lnh_2;
...
break;
............
default:
Lnh_1;
Lnh_2;
...
break;
}
1.2.6. Cu trc lp
* Dng 1:
for (biu thc 1; biu thc 2; biu thc 3)
{
Lnh_1;
Lnh_2;
14
Lnh_n;
}
* Dng 2:
while (<iu_kin_lp>)
{
Lnh_1;
Lnh_2;
Lnh_n;
}
* Dng 3:
do
{
Lnh_1;
Lnh_2;
Lnh_n;
} while (<iu_kin_lp>);
1.2.7. Cc v d mu
V d 1: Vit chng trnh xut ln mn hnh dng ch:
Chao mung ban den voi C#
15
Chng trnh:
using System;
using System.Collections.Generic;
using System.Text;
namespace Vidu1
{
class Program
{
static void Main(string[] args)
{
//xuat thong bao
Console.WriteLine("Chao mung ban den voi C#");
//dung man hinh xem ket qua
Console.ReadLine();
}
}
}
16
1.3. Cc bi tp p dng
Lm cc bi tp t 1.1 -> 1.31 trong ti liu bi tp Lp trnh Windows Cn Bn
17
18
Form
2.1.3. Solution Explorer
- Solution Explorer cho bi t t t ca cac project ang c m va cac t p tin trong Project . T
Solution Explorer ta c th d dng truy xut n bt c thnh phn trong Project .
- m Solution Explorer trong Visual Studio 2005 ta vao menu View->Solution
Explorer
19
20
21
22
2.2.2. Label
- Control (i u khi n) Label cho phep hi n thi m t vn ban ho c hin
h anh ma khng cho
php chinh sa. Label thng dung nh n di n cac i t ng trn Form.
- S du ng: trn Toolbox cho n control co tn la Label. Sau o nh p va keo tha chu t vao
Window Form.
- Thu c tin h (Properties) quan tro ng:
+ Text: n i dung vn ban c n hi n thi ln Label
23
2.2.3. TextBox
- Control (i u khi n) TextBox thng dung nh p ho c hi n thi m t chui vn ban (text).
- S du ng: trn Toolbox cho n control co tn la TextBox . Sau o nh p va keo tha chu t vao
Window Form.
- Thu c tin h (Properties) quan tro ng:
+ Name: dung inh danh cho TextBox, c dung lam tn bi n .
+ Text: n i dung vn ban c n hi n thi ln TextBox.
24
25
2.2.4. Button
- Control (i u khi n ) Button cho phep ngi dung nh p chu t thc hi n m t m nh l nh.
Button thng hi n thi chu
i vn ban hay hin
h anh.
- S du ng: trn Toolbox cho n control co tn la Button. Sau o nh p va keo tha chu t vao
Window Form.
- Thu c tinh (Properties) quan tro ng:
+ Name: dung inh danh cho Button, c dung lam tn bi n .
+ Text: n i dung vn ban c n hi n thi ln Button.
26
27
}
}
}
28
2.2.5. GroupBox
- GroupBox thng dung chia Windows Form thanh nhom cac chc nng .
- S du ng: trn Toolbox cho n control co tn la GroupBox. Sau o nh p va keo tha chu t
vo Window Form.
- Thu c tinh (Properties) quan tro ng:
+ Text: n i dung vn ban c n hi n thi ln GroupBox
29
2.2.6. DateTimePicker
- DateTimePicker cho phep ngi dung cho n ngay gi t danh sach co s n.
- S du ng: trn Toolbox cho n control co tn la DateTimePicker. Sau o nh p va keo tha
chu t vao Window Form.
- Thu c tin h (Properties) quan tro ng:
+ Name: dung inh danh cho DateTimePicker, c dung lam tn bi n .
30
31
2.2.7. MonthCalendar
- MonthCalendar cho phep ngi dung xem va cai t thng tin v ngay .
- S du ng: trn Toolbox cho n control co tn la MonthCalendar. Sau o nh p va keo tha
chu t vao Window Form.
- Thu c tin h (Properties) quan trng:
+ Name: dung inh danh cho MonthCalendar, c dung lam tn bi n .
32
V d:
Hi n thi thng bao Chao mung ban den voi C#
MessageBox.Show ("Chao mung ban den voi C#");
Hi n thi thng bao Chao mung ban den voi C# co tiu THONG BAO
MessageBox.Show ("Chao mung ban den voi C#", "THONG BAO");
33
2.4. Vi d
V d 1: Vi t chng trin h da ng Windows Application hi n thi trn
Form dong ch nh sau :
Hello world
34
F5.
V d 2: Vi t chng trinh da ng Windows Application, khi click chu t vao nut Hien Thi xu t
hi n thng bao:
Nhap mon Lap trinh Windows Can Ban
35
B t s ki n click chu t trai vao nut Hien Thi. Trong Properties chn the Events v nhp
tn ham trong mu c Click l btnHienThi_Click
36
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;
namespace Chuong2_VD2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnHienThi_Click(object sender, EventArgs e)
{
MessageBox.Show("Nhap mon Lap trinh Windows Can Ban");
}
}
}
37
38
Name: txt_a
Name: txt_b
Name: btnTong
Text: Tong
Click:btnTong_Click
F5.
39
V d 4: Vi t chng trin h nh p vo 2 s nguyn a, b. Sau o, nh p chu t trai vao nut Tong thi
gi tri tng c t TextBox kt qu.
Name: txt_a
Name: txt_b
Name: txt_kq
Name: btnTong
Text: Tong
Click:btnTong_Click
40
2.5. Bi tp
Lm cc bi tp t 2.1 -> 2.13 trong tai li u bai t p L p trin
h Windows Cn Ban
41
lnh_N;
}
(lnh_1;;lnh_N).
* Ton t so snh
Ton T
Ngha
<
Nh hn
>
Ln hn
==
Bng
<=
Nh hn hoc bng
>=
Ln hn hoc bng
!=
Khc nhau
* Ton t logic
42
khi lnh
Ton T
Ngha
Php ph inh
&&
||
Hoc
V d 1: Vit chng trnh nhp vo s nguyn n (khc 0). Hay cho bit n l s nguyn m hay
nguyn dng.
Console Application:
using System;
using System.Collections.Generic;
using System.Text;
namespace CauTrucIf
{
class Program
{
static void Main(string[] args)
{
int n;
string s;
//nhap so nguyen n
Console.WriteLine ("Nhap so nguyen n (khac 0):");
s = Console.ReadLine();
n = int.Parse(s);
//kiem tra n la nguyen duong hay nguyen am
if (n > 0)
Console.WriteLine("n la so nguyen duong");
if (n < 0)
Console.WriteLine("n la so nguyen am");
//dung man hinh va xem ket qua
Console.ReadLine();
}
}
}
43
Windows Application:
Name: txt_n
Name: btn_KiemTra
Text: Kiem Tra
Click: btn_KiemTra_Click
V d 2: Vit chng trnh nhp vo s nguyn dng n. Hay cho bit n chn hay le.
44
Console Application:
using System;
using System.Collections.Generic;
using System.Text;
namespace ViDu2
{
class Program
{
static void Main(string[] args)
{
int n;
string s;
//nhap so nguyen duong n
Console.WriteLine("Nhap so nguyen duong n:");
s = Console.ReadLine();
n = int.Parse(s);
if (n % 2 == 0) //n chan
Console.WriteLine("n la so chan");
if (n % 2 == 1) //n le
Console.WriteLine("n la so le");
//dung man hinh va xem ket qua
Console.ReadLine();
}
}
}
45
Thut gii:
- Nhp a, b
- Nu a = 0 th
+ Nu b = 0 th phng trnh v s nghim
+ Nu b 0 th phng trnh v nghim
- Nu a 0 th phng trnh c nghim duy nht: x = -b/a
Nu biu_thc_iu_kin sai
khi_lnh_2.
46
V d 4: Vit chng trnh nhp vo s nguyn n (khc 0). Hay cho bit n l s nguyn m hay
nguyn dng.
Console Application:
using System;
using System.Collections.Generic;
using System.Text;
namespace CauTrucIf
{
class Program
{
static void Main(string[] args)
{
int n;
string s;
//nhap so nguyen n
Console.WriteLine ("Nhap so nguyen n (khac 0):");
s = Console.ReadLine();
n = int.Parse(s);
//kiem tra n la nguyen duong hay nguyen am
if (n > 0)
Console.WriteLine("n la so nguyen duong");
else
Console.WriteLine("n la so nguyen am");
//dung man hinh va xem ket qua
Console.ReadLine();
}
}
}
47
Windows Application:
Name: txt_n
Name: btn_KiemTra
Text: Kiem Tra
Click: btn_KiemTra_Click
else
MessageBox.Show("n la so nguyen am");
}
V d 5: Vit chng trnh nhp vo s nguyn dng n. Hay cho bit n chn hay le.
48
Console Application:
using System;
using System.Collections.Generic;
using System.Text;
namespace ViDu2
{
class Program
{
static void Main(string[] args)
{
int n;
string s;
//nhap so nguyen duong n
Console.WriteLine("Nhap so nguyen duong n:");
s = Console.ReadLine();
n = int.Parse(s);
if (n % 2 == 0) //n chan
Console.WriteLine("n la so chan");
else
//n le
Console.WriteLine("n la so le");
//dung man hinh va xem ket qua
Console.ReadLine();
}
}
}
49
Thut gii:
- Nhp a, b
- Nu a = 0 th
+ Nu b = 0 th phng trnh v s nghim
+ Ngc li th phng trnh v nghim
- Ngc li th phng trnh c nghim duy nht: x = -b/a
Nu gi tri ca biu thc bng Gi_Tr_i th khi lnh ca mnh case i c thc
hin.
Nu gi tri ca biu thc khng bng vi bt k Gi_Tr_i no trong cc mnh case
th khi lnh tng ng vi t kho default c thc hin.
Mi khi lnh ca mi mnh case thng c kt thc bi mt cu lnh break.
Vic thc hin khi lnh sau khi so snh gi tri ca biu thc bng Gi_Tr_i nh sau:
thc hin tt c nhng lnh ngay sau mnh case ca Gi_Tr_i trn cho n khi gp
t kho break.
V d 7: Nhp vo thng ca mt nm. Cho bit thng thuc mua no trong nm.
Console Application:
using System;
using System.Collections.Generic;
using System.Text;
namespace CauTrucSwitchCase
{
class Program
{
static void Main(string[] args)
{
int thang;
string s;
//nhap thang
Console.WriteLine("Nhap thang: ");
s = Console.ReadLine();
thang = int.Parse(s);
switch (thang)
{
case 1:
case 2:
case 3:
Console.WriteLine("Mua xuan");
break;
case 4:
case 5:
case 6:
Console.WriteLine("Mua ha");
break;
case 7:
case 8:
case 9:
51
Console.WriteLine("Mua thu");
break;
case 10:
case 11:
case 12:
Console.WriteLine("Mua dong");
break;
}
//dung man hinh va xem ket qua
Console.ReadLine();
}
}
}
3.2. Bi tp
Lm v d 2, 3, 5, 6, 7 trn Windows Application
Lm cc bi tp t 3.1 -> 3.8 trong tai li u bai t p L p trinh Windows Cn Ban
52
Lnh_n;
}
Cu trc iu kin lp for gm 3 biu thc v phn lnh ca cu trc iu khin ny.
ngha thng thng ca cc biu thc trn:
Biu thc 1: thng dung khi to bin m ca vng lp. Biu thc ny c th c
hoc khng c cng c.
Biu thc 2: c dung kim tra iu kin ca vng lp. Biu thc ny bt buc phi
c (nu b qua biu thc ny ta phi dung n vi t kha break)
Biu thc 3: thng dung iu khin bin m ca vng lp. Biu thc ny c th c
hoc khng c cng c.
Hot ng ca cu trc iu khin lp for:
Bc 1: Tnh gi tri ca biu thc 1.
Bc 2: Tnh gi tri ca biu thc 2.
Bc 3: Tuy thuc vo gi tri ca biu thc 2, chng trnh s thc thi mt trong hai nhnh:
Bc 3.1: Nu biu thc 2 c gi tri 0 (sai), chng trnh s thot khi lnh for v chuyn
ti cu lnh sau khi lnh ca for.
Bc 3.2: Nu biu thc 2 c gi tri khc 0 (ng) chng trnh s thc hin cc cu lnh
trong khi lnh for.
Bc 4: Tnh gi tri biu thc 3 ri quay li bc 2 bt u mt vng lp mi.
53
Lnh_n;
}
Lnh_n;
} while (<iu_kin_lp>);
Bc 3: Chng trnh s thc thi mt trong 2 nhnh sau tu theo gi tri ca biu thc va nhn
c.
Bc 3.1: Nu biu thc c gi tri ng (khc 0), chng trnh s quay tr li Bc 1
tip tc thc hin vng lp mi.
54
Bc 3.2: Nu biu thc c gi tri sai (bng 0), chng trnh s ra khi chu trnh v chuyn
ti cu lnh ng sau du chm phy t cui ton t dowhile.
Lu :
+ im khc bit ca cu trc lp while v dowhile:
- Trong cu trc lp while iu kin lp c kim tra trc khi thc hin khi lnh trong vng
lp.
- Trong cu trc lp dowhile iu kin lp c kim tra sau khi khi lnh trong vng lp c
thc hin xong. Nh vy trong cu trc lp dowhile khi lnh trong vng lp s c thc hin
t nht mt ln.
Name: btn_Tinh
Text: Tinh
Click: btn_Tinh_Click
55
a)
private void btn_Tinh_Click(object sender, EventArgs e)
{
int n;
float S;
n = int.Parse(txt_n.Text);
S = 0;
for (int i = 1; i <= n; i = i + 1)
{
S = S + i;
}
txt_S.Text = S.ToString();
}
b)
private void btn_Tinh_Click(object sender, EventArgs e)
{
int n;
float S;
n = int.Parse(txt_n.Text);
S = 0;
i = 1;
while (i <= n)
{
S = S + i;
i = i + 1;
}
txt_S.Text = S.ToString();
}
c)
private void btn_Tinh_Click(object sender, EventArgs e)
{
int n;
float S;
n = int.Parse(txt_n.Text);
if (n > 0)
{
S = 0;
i = 1;
56
do
{
S = S + i;
i = i + 1;
} while (i <= n);
txt_S.Text = S.ToString();
}
}
}
4.2. Bi tp
Lm cc bi tp t 4.1 -> 4.14 trong tai li u bai t p L p trinh Windows Cn Ban
57
Chng 5: HM
5.1. Hm
5.1.1. Gii thiu
Tt c cc thao tc ny u nm trong duy nht mt hm. Do chng ta gp kh khn
trong vic qun l, sa li v nng cp ma ngun chng trnh khi s lng dng lnh trong mt
hm ln. Vy c cch no c th gii quyt c vn trn khng?
S dng k thut hm gii quyt vn ny. Hn na, khi s dng k thut hm c th
n gin ha vic vit chng trnh v trnh lp i lp li cc cng vic ging nhau.
Khi nim n gin nht ca hm l: hm l mt s chia nh ca chng trnh.
5.1.2. V d
Vit chng trnh nhp vo 2 s nguyn a v b. Hay tnh tng 2 s .
a) Xy dng ng trn Console
b) Xy dng ng dng trn Windows Form.
Gii
a) Xy dng ng trn Console
using System;
using System.Collections.Generic;
using System.Text;
namespace VD_HamConsole
{
class Program
{
//ref: giong & trong C
//gia tri bien a va b se thay doi sau khi goi ham Nhap
static void Nhap(ref int a, ref int b)
{
string s;
Console.Write("Nhap a: ");
s = Console.ReadLine();
a = int.Parse(s);
Console.Write("Nhap b: ");
s = Console.ReadLine();
b = int.Parse(s);
}
58
Name: btn_TinhTong
Text: Tinh Tong
Click: btn_TinhTong_Click
59
Ma ngun:
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;
namespace ViDu_Ham
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//ref: giong & trong C
//gia tri bien a va b se thay doi sau khi goi ham Nhap
void Nhap(ref int a, ref int b)
{
a = int.Parse(txt_a.Text);
b = int.Parse(txt_b.Text);
}
int TinhGiaTriTong(int a, int b)
{
int tong;
tong = a + b;
return tong;
}
void XuatKetQua(int tong)
{
MessageBox.Show(tong.ToString());
}
private void btn_TinhTong_Click(object sender, EventArgs e)
{
int a, b;
int tong;
a = 0;
b = 0;
Nhap(ref a, ref b);
tong = TinhGiaTriTong(a, b);
XuatKetQua(tong);
}
}
}
60
5.2. Bi tp
Lm cc bi tp t 5.1 -> 5.4 trong tai li u bai t p L p trin
h Windows Cn Ban
61
62
6.1.5. Hm Main
6.2. Bi tp
Lm cc bi tp t 6.1 -> 6.17 trong tai li u bai t p Lp trnh Windows Cn Bn
63
64
7.1.2. ComboBox
65
V d:
Ma ngun:
66
7.1.3. TreeView
V d:
67
M ngun:
private void btn_ThemDSSV_Click(object sender, EventArgs e)
{
tv_DanhSachSV.Nodes.Add("Nguyen van A");
tv_DanhSachSV.Nodes[0].Nodes.Add("Ngay sinh: 01/01/1990");
tv_DanhSachSV.Nodes[0].Nodes.Add("Noi sinh: TP HCM");
tv_DanhSachSV.Nodes.Add("Ly thi C");
tv_DanhSachSV.Nodes[1].Nodes.Add("Ngay sinh: 02/03/1989");
tv_DanhSachSV.Nodes[1].Nodes.Add("Noi sinh: Ben tre");
tv_DanhSachSV.Nodes.Add("Duong Van D");
}
private void btn_XoaDSSV_Click(object sender, EventArgs e)
{
//xoa danh sach
tv_DanhSachSV.Nodes.Clear();
}
68
7.1.4. ListView
V d:
69
Ma ngun:
private void btn_TaoDSSV_Click(object sender, EventArgs e)
{
//thay doi cach xem ListView
lv_DanhSachSV.View = View.List;
//tao checkbox
lv_DanhSachSV.CheckBoxes = true;
//them danh sach
lv_DanhSachSV.Items.Add("Nguyen Van A");
lv_DanhSachSV.Items.Add("Ly thi C");
lv_DanhSachSV.Items.Add("Duong van D");
}
private void btn_XoaDSSV_Click(object sender, EventArgs e)
{
//xoa toan bo danh sach tren ListView
lv_DanhSachSV.Items.Clear();
}
private void btn_HienThiDS_Click(object sender, EventArgs e)
{
foreach (ListViewItem lvItem in lv_DanhSachSV.Items)
{
MessageBox.Show(lvItem.Text);
}
}
7.2. Bi tp
Lm cc bi tp chng 7 trong tai li u bai t p L p trin
h Windows Cn Ban
70
71