Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Trang 2M ӨC LӨC
&KѭѫQJ &ѫEҧn ngôn ngӳ C# 1
I Giӟi thiӋu ngôn ngӳ C# 2008 1
II 0{LWUѭӡng lұp trình 2
III BiӃn, hҵng, toán tӱ 3
IV 4X\ѭӟc lұp trình, ӭng dөng Console Application trong Visual Studio 2008 5
V KiӇu dӳ liӋu 9
VI CҩXWU~FÿLӅu khiӇn 10
VII Cҩu trúc lһp 12
&KѭѫQJ Xây dӵng Windows Forms Application 15
I Sӱ dөng Visual Studio 2008 15
II &iFFRQWUROFѫEҧn: Label, TextBox, Button, CheckBox, … 18
III Menu và ToolBar 30
IV Common Dialog 30
&KѭѫQJ Array – String – Exception 34
I Mҧng 1 chiӅu 34
II Mҧng nhiӅu chiӅu 37
III String 40
IV Exception 45
&KѭѫQJ Class – Object - Method 47
I Khái niӋm 47
II Ĉӏnh nghƭDOӟp (Class) 47
III 3KѭѫQJWKӭc (Method) 50
&KѭѫQJ SQL Server 2008 54
I Tәng quan vӅ SQL 54
II Tәng quan vӅ CSDL quan hӋ 55
III Table (Bҧng) 58
IV Câu lӋnh truy vҩn 66
V Mӝt sӕ KjPWKѭӡng dùng trong SQL Server 70
&KѭѫQJ Lұp trình kӃt nӕi CSDL SQL Server 2008 72
I Tҥo kӃt nӕi – Vұn chuyӇn dӳ liӋu 72
II Sӱ dөng control 73
III Các thao tác trên dӳ liӋu: Thêm - Sӱa - Xóa vӟi ADO.NET 78
&KѭѫQJ Xây dӵng ӭng dөng 85
I Chuҭn bӏ 85
II Sӱ dөng control 85
III Sӱ dөng database 88
Trang 3&KѭѫQJ: &Ѫ%ҦN NGÔN NGӲ C#
Bài 1: GIӞI THIӊU C# 2008
I Giӟi thiӋu C#
Ngôn ngӳ &NKiÿѫQJLҧn, chӍ khoҧQJKѫQWӯ NKyDYjKѫQPѭӡi mҩy kiӇu dӳ liӋu
ÿѭӧc dӵng sҹn Tuy nhiên, ngôn ngӳ C# có ý nghƭDto lӟn khi nó thӵc thi nhӳng khái niӋm
lұp trình hiӋQÿҥi C# bao gӗm tҩt cҧ nhӳng hӛ trӧ cho cҩu trúc, thành phҫn component, lұp
trình hѭӟQJÿӕLWѭӧng Nhӳng tính chҩWÿyKLӋn diӋn trong mӝt ngôn ngӳ lұp trình hiӋQÿҥi
+ѫQQӳa ngôn ngӳ &ÿѭӧc xây dӵng trên nӅn tҧng hai ngôn ngӳ mҥnh nhҩt là C++ và Java
- C# loҥi bӓ ÿѭӧc mӝt vài sӵ phӭc tҥp và rӕi rҳm cӫa các ngôn ngӳ C++ và Java
- C# khá giӕng C / C++ vӅ diӋn mҥo, cú pháp, biӇu thӭc, toán tӱ
- Các chӭFQăQJcӫa C# ÿѭӧc lҩy trӵc tiӃp tӯ ngôn ngӳ C / &QKѭQJÿѭӧc cҧi tiӃQÿӇ
- Vӟi ngôn ngӳ C#, chúng ta chӍ bӏ giӟi hҥn ӣ chính bҧn thân cӫa chúng ta Ngôn ngӳ này
NK{QJÿһt ra nhӳng ràng buӝc lên nhӳng viӋc có thӇ làm
- &ÿѭӧc sӱ dөng cho nhiӅu dӵ iQNKiFQKDXQKѭWҥo ra ӭng dөng xӱ OêYăQEҧn, ӭng
dөQJÿӗ hӑa, xӱ lý bҧng tính; thұm chí tҥo ra nhӳng trình biên dӏch cho các ngôn ngӳ khác
- C# là ngôn ngӳ sӱ dөng giӟi hҥn nhӳng tӯ khóa Phҫn lӟn các tӯ NKyDGQJÿӇ mô tҧ
WK{QJWLQQKѭQJ không gì thӃ mà C# kém phҫn mҥnh mӁ Chúng ta có thӇ tìm thҩy rҵng ngôn
ngӳ này có thӇ ÿѭӧc sӱ dөQJÿӇ làm bҩt cӭ nhiӋm vө nào
5 C# là ngôn ngӳ Kѭӟng module
- Mã nguӗn cӫD & ÿѭӧc viӃt trong Class (lӟp) Nhӳng Class này chӭa các Method
(SKѭѫQJWKӭc) thành viên cӫa nó
- Class (lӟp) và các Method (SKѭѫQJ WKӭc) thành viên cӫa nó có thӇ ÿѭӧc sӱ dөng lҥi
trong nhӳng ӭng dөng hay FKѭѫQJWUình khác
6 C# sӁ trӣ nên phә biӃn
Trang 4&PDQJÿӃn sӭc mҥnh cӫa C++ cùng vӟi sӵ dӉ dàng cӫa ngôn ngӳ Visual Basic
II 0{LWUѭӡng lұp trình
1 Sӱ dөng Notepad soҥn thҧo
§ %ѭӟc 1: Soҥn thҧo tұp tin YjOѭXYӟi tên C:\ChaoMung.cs có nӝLGXQJQKѭVDX
} }
§ %ѭӟc 2: Vào menu Start | All Programs | Microsoft Visual Studio 2008 | Visual
Studio Tools | Visual Studio 2008 Command Prompt
§ %ѭӟc 3:
- Gõ lӋnh biên dӏch tұp tin ChaoMung.cs sang tұp tin ChaoMung.exe
C:\> csc /t:exe /out:chaomung.exe chaomung.cs
- Chҥy tұp tin ChaoMung.exe Yjÿѭӧc kӃt quҧ QKѭVDX :
C:\> chaomung.exe
Chao mung ban den voi C# 2008
2 Sӱ dөng Micosoft Visual Studio 2008 ÿӇ tҥRFKѭѫQJWUình
§ %ѭӟc 1: KhӣLÿӝng Visual Studio 2008
Start | All Programs | Microsoft Visual Studio 2008 | Microsoft Visual Studio 2008
§ %ѭӟc 2: Vào menu File | New | Project
§ %ѭӟc 3: Khai báo
Trang 5* MһF ÿӏnh: Visual Studio 2008 (Visual Studio NET) sӁ tҥo ra tұp tin Program.cs
chӭa mӝt namespace tên ChaoMung và trong namespace này chӭa mӝt
class tên Program
§ %ѭӟc 4: WURQJSKѭѫQJWKӭc Main, gõ ÿRҥn mã lӋnh sau
* Ví dө:
// Xuat ra man hinh chuoi thong bao 'Chao mung ban den voi C# 2008 ' System.Console.WriteLine("Chao mung ban den voi C# 2008 ") ; System.Console.ReadLine() ;
§ Bѭӟc 5: ĈӇ chҥ\FKѭѫQJWUình, nhҩn F5 hoһc nhҳp vào nút
III BiӃn, hҵng, toán tӱ
1 BiӃn
a) Khái niӋm:
- BiӃn là mӝWYQJOѭXWUӳ ӭng vӟi mӝt kiӇu dӳ liӋu
- BiӃn có thӇ ÿѭӧc gán giá trӏ và cNJQJFyWKӇ WKD\ÿәi giá trӏ trong khi thӵc hiӋn các lӋnh
cӫa FKѭѫQJWUình
b) Khai báo biӃn: Sau khi khai báo biӃn phҧi gán giá trӏ cho biӃn
<KiӇu_Dӳ_LiӋu> <tên_biӃn> [ = <giá_trӏ> ] ;
c) Ví dө 1.1: Khӣi tҥo và gán giá trӏ mӝt biӃn
+ BiӇXWѭӧng hҵng (symbolic constants)
+ KiӇu liӋt kê (enumerations)
b) Giá trӏ hҵng:
Ví dө[ ÿѭӧc gӑi là giá trӏ hҵng
c) BiӇXWѭӧng hҵng: gán mӝt tên hҵng cho mӝt giá trӏ hҵng
Khai báo:
<const> <KiӇu_Dӳ_LiӋu> <tên_hҵng> = <giá_trӏ> ;
Ví dө 1.2: Nhұp vào bán kính, in ra chu vi và diӋn tích hình tròn
Trang 6int bankinh ; double chuvi , dientich ; string chuoi ;
// Nhap gia tri cho bien chuoi System.Console.Write("Nhap ban kinh hinh tron: ") ; chuoi = System.Console.ReadLine() ;
// Doi chuoi thanh so va gan vao bien so bankinh = System.Convert.ToInt32(chuoi) ; // Gan gia tri cho bien
chuvi = 2 * bankinh * PI ; dientich = bankinh * bankinh * PI ; // Xuat ra man hinh
System.Console.WriteLine("Chu vi hinh tron = {0:0.00}", chuvi) ; System.Console.WriteLine("Dien tich hinh tron = {0:0.00}", dientich) ; }
f) Toán tӱ logic: ! , && , ||
g) Toán tӱ 3 ngôi: ĈLӅu_KiӋn) ? (BiӇu_Thӭc_1) : (BiӇu_Thӭc_2) ;
Trang 7IV Quy tҳc lұp trình, ӭng dөng Console Application
1 Quy tҳc lұp trình
Khi tҥo mӝWFKѭѫQJWUình trong C#, chúng ta nên thӵc hiӋn theo các Eѭӟc sau:
§ %ѭӟc 1: ;iFÿӏnh mөc tiêu cӫDFKѭѫQJWUình
§ %ѭӟc 2;iFÿӏnh nhӳQJSKѭѫQJSKiSJLҧi quyӃt vҩQÿӅ
§ %ѭӟc 3: Tҥo mӝWFKѭѫQJWUình ÿӇ giҧi quyӃt vҩQÿӅ
§ %ѭӟc 4: ThӵFWKLFKѭѫQJWUình ÿӇ xem kӃt quҧ
}
* Phҫn Bә sung
1 Namespace
- NET cung cҩp mӝWWKѭYLӋn các class rҩt ÿӗ sӝWURQJÿyConsole là mӝt class nhӓ trong
WKѭYLӋn các class này
- Mӛi class có mӝt tên riêng, vì vұ\QJѭӡi lұp trình không thӇ nào nhӟ hӃt tên các class
WURQJ1(7ĈӇ giҧi quyӃt vҩQÿӅ này là viӋc tҥo ra mӝt namespace, namespace sӁ hҥn chӃ
phҥm vi cӫa mӝt tên, làm cho tên này chӍ có ý nghƭDWURQJYQJÿã ÿӏnh nghƭD
- MӝWFKѭѫQJWUình ÿѭӧc viӃt tӕt thì cҫn phҧLFyFK~WKtFKFiFÿRҥn mã lӋQKÿѭӧc viӃt
- MөFÿtFKFKtQKOjOjPFKRÿRҥn mã lӋnh nguӗn rõ ràng và dӉ hiӇu
- Có 2 loҥi chú thích:
+ Chú thích mӝt dòng: //
+ Chú thích nhiӅu dòng: /* */
6 Phân biӋt chӳ WKѭӡng và chӳ hoa
C# là ngôn ngӳ phân biӋt chӳ WKѭӡng vӟi chӳ hoa
Trang 8Ví dө: int bankinh = 5 ; // mӝt câu lӋnh
chuvi = 2 * bankinh * PI ; // mӝt câu lӋnh khác
9 KiӇu chuӛi ký tӵ
KiӇu chuӛi ký tӵ là mӝt mҧng các ký tӵ
a) Khai báo chuӛi hҵng:
string <Tên_chuӛi_hҵng> = <"Noi dung chuoi hang"> ;
Ví dө: string tentuong = "Nhat Nghe" ;
b) Khai báo biӃn kiӇu chuӛi:
string <BiӃn_chuӛi> [= "Noi dung chuoi hang"] ;
Ví dө: string hoten = "Nguyen Van Teo" ;
Ví dө: System.Console.WriteLine("Do dai cua chuoi la:") ;
e) Mӝt sӕ thao tác trên chuӛi:
3KѭѫQJWKӭc Ý nghƭD
Length ChiӅu dài cӫa chuӛi
Substring() Lҩy chuӛi con
ToLower() Trҧ vӅ bҧn sao cӫa chuӛi ӣ kiӇu chӳ WKѭӡng
ToUpper() Trҧ vӅ bҧn sao cӫa chuӛi ӣ kiӇu chӳ IN HOA
Ví dө 1.4: Nhұp vào hӑ và tên, in ra màn hình hӑ tên bҵng chӳ IN HOA, chӳ WKѭӡngÿӝ
dài cӫa hӑ và tên
using System ;
class HoTen
{
static void Main()
{ // Khai bao bien
string hoten ; // Nhap gia tri cho bien chuoi Console.Write("Nhap Ho va Ten: ") ; hoten = Console.ReadLine() ;
// Thao tac tren chuoi string HT = hoten.ToUpper() ; string ht = hoten.ToLower() ; int dodai = hoten.Length ; // Xuat ra man hinh Console.WriteLine("Ho va Ten (chu IN HOA): {0}", HT) ; Console.WriteLine("Ho va Ten (chu thuong): {0}", ht) ; namespace class SKѭѫQJWKӭc
Trang 9Console.WriteLine("Do dai Ho va Ten la: {0}",dodai) ; }
}
10 Bҧng liӋt kê các tӯ khóa cӫa ngôn ngӳ C# 2008
default internal sealed volatile
orderby partial (type) partial (method)
where (generic type constraint) where (query clause) yield
Bài tұp
1 ViӃWFKѭѫQJWUình nhұp vào 1 sӕ nguyên n Cho biӃt:
a) n là sӕ chҹn hay sӕ lҿ ?
b) n là sӕ âm hay sӕ không âm ?
2 ViӃW FKѭѫQJ WUình nhұp vào 2 sӕ thӵc GѭѫQJ FKӍ chiӅu dài và chiӅu rӝng cӫa hình chӳ
nhұt In ra màn hình chu vi và diӋn tích cӫa hình chӳ nhұt ÿy
Trang 103 ViӃWFKѭѫQJWUình nhұp vào mӝt sӕ thӵFGѭѫQJFKӍ cҥnh cӫa mӝt hình vuông Tính diӋn
tích và chu vi cӫa hình vuông ÿy
4 ViӃWFKѭѫQJWUình nhұp vào hӑ tên (HoTen)ÿLӇm toán (Toan ÿLӇm lý (Ly ÿLӇm hoá
(Hoa) cӫa mӝt hӑc sinh In ra màn hình hӑ tên cӫa hӑFVLQKGѭӟi dҥng chӳ IN HOA và
ÿLӇm trung bình (Dtb) cӫa hӑc sinh này theo công thӭc: Dtb = (Toan + Ly + Hoa) / 3
5 ViӃW FKѭѫQJ WUình nhұp bұF OѭѫQJ %acLuong), ngày công (NgayCong), phө cҩp
(PhuCap) Tính tiӅn lãnh (TienLanh) = BacLuong * 650000 * NCTL + PhuCap
Vӟi: NCTL = NgayCong nӃu NgayCong < 25
= (NgayCong – 25) * 2 + 25 nӃu NgayCong >= 25
- oOo -
Trang 11Bài 2: (tiӃp theo)
KIӆU DӲ LIӊU – CҨ875Ò&Ĉ,ӄU KHIӆN – CҨU TRÚC LҺP
V KiӇu dӳ liӋu
C# chia kiӇu dӳ liӋu thành hai tұp hӧp kiӇu dӳ liӋu chính:
- KiӇu xây dӵng sҹn (built-in): do ngôn ngӳ cung cҩSFKRQJѭӡi lұp trình
- KiӇXGRQJѭӡLGQJÿӏnh nghƭDXVHU-GHILQHG GRQJѭӡi lұp trình tҥo ra
1 KiӇu dӳ liӋu dӵng sҹn
byte 1 Byte Sӕ QJX\rQGѭѫQJNK{QJGҩu tӯ ÿӃn 255
char 2 Char Ký tӵ Unicode
bool 1 Boolean Giá trӏ logic true / false
sbyte 1 Sbyte Sӕ nguyên có dҩu tӯ -ÿӃn 127
short 2 Int16 Sӕ nguyên có dҩu tӯ -ÿӃn 32767
ushort 2 Uint16 Sӕ QJX\rQGѭѫQJNK{QJGҩu tӯ ÿӃn 65535
int 4 Int32 Sӕ nguyên có dҩu tӯ - ÿӃn
2.147.483.647 uint 4 Uint32 Sӕ nguyên không dҩu tӯ ÿӃn 4.294.967.295
float 4 Single KiӇu dҩu chҩP ÿӝng, giá trӏ xҩp xӍ tӯ
-3.4E-ÿӃn 3.4E+38, vӟi 7 chӳ sӕ có nghƭD double 8 Double KiӇu dҩu chҩP ÿӝQJ Fy ÿӝ chính xác gҩp
ÿ{L JLi trӏ xҩp xӍ tӯ -1.7E- ÿӃn 1.7E+308, vӟi 15, 16 chӳ sӕ có nghƭD
decimal 8 Decimal &yÿӝ FKtQK[iFÿӃn 28 con sӕ và giá trӏ thұp
SKkQ ÿѭӧc dùng trong tính toán tài chính, kiӇXQj\ÿòi hӓi phҧi có hұu tӕ “m” hay “M”
long 8 Int64 KiӇu sӕ nguyên có dҩu có giá trӏ trong
khoҧng - ÿӃn 9.223.372.036.854.775.807
ulong 8 Uint64 Sӕ nguyên không dҩu tӯ ÿӃn
Trang 122 ChuyӇQÿәi kiӇu dӳ liӋu
x = y ; // không biên dӏch, lӛi
VI CҩXWU~FÿLӅu khiӇn
<Khӕi lӋQKĈLӅu_KiӋn sai>]
b) Ví dө 2.1: Dùng câu lӋQKÿLӅu kiӋn if … else
Trang 13Console.WriteLine("Day la ngay 3-5-7") ; else Console.WriteLine("Day la ngay chu nhat") ; }
case 0:
Console.WriteLine("Chu nhat") ; break;
case 1:
Console.WriteLine("Thu hai") ; break;
case 2:
Trang 14Console.WriteLine("Thu ba") ; break;
case 3:
Console.WriteLine("Thu tu") ; break;
case 4:
Console.WriteLine("Thu nam") ; break;
case 5:
Console.WriteLine("Thu sau") ; break;
case 6:
Console.WriteLine("Thu bay") ; break;
default:
Console.WriteLine("Khong phai la thu trong tuan") ; break;
} }
} }
Trang 15} while (i<= 10) ; }
}
Trang 16Bài tұp
1 ViӃWFKѭѫQJWUình nhұp vào 3 sӕ nguyên In ra màn hình sӕ nguyên nhӓ nhҩt trong 3 sӕ
ÿy
2 ViӃWFKѭѫQJWUình nhұp vào hӑ tênÿLӇm thi cuӕi kǤ cӫa mӝt hӑc sinh In ra hӑ tên hӑc
sinh bҵng chӳ IN HOA, và kӃt quҧ xӃp loҥi cӫa hӑc sinh theo tiêu chuҭn sau:
Trang 17&KѭѫQJ2: XÂY D ӴNG WINDOWS FORMS APPLICATION
Bài 3: XÂY DӴNG WINDOWS FORMS APPLICATION
I Sӱ dөng Microsoft Visual Studio 2008
1 KhӣLÿӝng
§ %ѭӟc 1: KhӣLÿӝng Visual Studio 2008
Start | All Programs | Microsoft Visual Studio 2008 | Microsoft Visual Studio 2008
§ %ѭӟc 2: Vào menu File | New | Project
§ %ѭӟc 3: Khai báo
· Mӣ hӝp ToolBox: Menu View | ToolBox à chӭa các control
· Mӣ cӱa sә Properties: Menu View | Properties à chӭa thuӝc tính
· Mӣ cӱa sә Solution Explorer: Menu View | Solution Explorer à cӱa sә Project
xuҩt hiӋn
§ %ѭӟc 4: ThiӃt kӃ Form – ViӃt code
· ThiӃt kӃ form: Nhҳp vào View Designer (trong cӱa sӕ Solution Explorer)
· ViӃt code: Nhҳp vào View Code (trong cӱa sӕ Solution Explorer)
§ %ѭӟc 5: ĈӇ chҥ\FKѭѫQJWUình, nhҩn F5 hoһc nhҳp vào nút
ĈӇ dӯng chѭѫQJWUình, nhҩn Shift + F5 hoһc nhҳp vào nút
* Các thao tác vӟi Project / Solution
a Tҥo Project
Trang 18C1 Vào menu File | New | Project
C1 Vào menu File | Save All
C2 Chӑn công cө Save All trên thanh Standart
d ĈyQJ6ROXWLRQVào menu File | Close Solution
2 Màn hình giao diӋn cӫa Windows Forms
a Cӱa sә thiӃt kӃ Form (Designer):
b Cӱa sә thiӃt viӃt code:
* Các thao tác vӟi Form
a Thêm mӝt Form mӟi vào Project:
Trang 19b1 C1 Vào menu Project | Add New Item …
C2 Chӑn công cө Add New Item trên thanh Standart
b2 Khai báo
+ Categories: chӑn Windows Forms
+ Templates: chӑn Windows Form
+ Name: ÿһt tên Form
b3 Nhҳp Add
b Thêm mӝt Form có sҹn vào Project:
b1 Vào menu Project | Add Existing Item …
b2 Chӑn Form
b3 Nhҳp Add
c Xóa bӓ mӝW)RUPÿDQJFyWURQJ3URMHFW:
b1 Chӑn Form cҫn gӥ bӓ (ӣ cӱa sә Solution Explorer)
b2 Vào menu Edit | Delete
d /ѭX)orm
- Vào menu File | Save Form.cs
- Ctrl + S
* Ghi chú
- 7DÿHP³Eӓ vào” form FiFÿӕLWѭӧQJQKѭ: Label, TextBox, Button, …
+ Label, TextBox, Button, … ÿѭӧc gӑi là control hay còn gӑi là component
+ )RUPÿѭӧc gӑi là control “chӭa”
- KLWKD\ÿәi nӝi dung cӫa Label, TextBox, Button, … WDWKD\ÿәLYjR7H[W7H[Wÿѭӧc
gӑi là Property cӫa control
3 Control là gì?
- Control là lӟp (class) các thành phҫQÿѭӧFWKrPYjR:LQGRZV)RUPVÿӇ WѭѫQJWiFJLӳa
QJѭӡi sӱ dөng vӟi Windows
- Có rҩt nhiӅu loҥi control trong :LQGRZV )RUPV QKѭ /DEHO 7H[W%R[ /LVW%R[
ComboBox, Button, …
- Các control sӱ dөng trên Windows Forms dùng namespace System.Windows.Forms
4 Properties (thuӝc tính) cӫa control
- Properties là nhӳng thông tin mà ta có thӇ WKD\ ÿәi nӝi dung, cách trình bày … cӫa
QJѭӡi thiӃt kӃ ÿӇ ӭng dөng vào control
- Mӛi lӟp (class) có nhiӅu property khác nhau Tuy nhiên, vүn có mӝt sӕ property giӕng
QKDXÿѭӧc xây dӵng tӯ lӟSEDQÿҫu
* Bҧng trình bày các thuӝc tính (Properties) giӕng nhau
Anchor Có 4 KѭӟQJÿѭӧFÿӏnh nghƭDOjWRSERWWRPOHIWULJKWÿӇ cӕ ÿӏnh (neo)
Khi control chӭDQyWKD\ÿәLNtFKWKѭӟc thì nó sӁ bӏ WKD\ÿәLNtFKWKѭӟc nӃu nӃXFiFKѭӟng left / right / top / bottom bӏ cӕ ÿӏnh (neo)
BackColor Màu nӅn cӫa control
Bottom Là khoҧng cách theo chiӅu dӑc tӯ cҥQK ÿi\ FӫD FRQWURO ÿӃn cҥnh trên
cӫa control chӭa nó
Dock GiӕQJQKѭ$QFKRUQKѭQJYLӋc cӕ ÿӏnh (neo) này theo mӝt cҥQKQjRÿy
cӫa control (hoһc cҧ 4 cҥnh) vӟi control chӭa nó
Enabled &RQWURO ÿѭӧF SKpS WѭѫQJ WiF 7UXH KD\ NK{QJ ÿѭӧF SKpS WѭѫQJ WiF
(False)) vӟLQJѭӡi dùng
Trang 20ForeColor Màu chӳ cӫa control
Height Là chiӅu cao cӫa control tính tӯ cҥnh trên cӫDFRQWUROÿӃn cҥQKGѭӟi cӫa
control
Left Là khoҧng cách theo chiӅu ngang tӯ cҥnh trái cӫDFRQWUROÿӃn cҥnh trái
cӫa control chӭa nó
Name Tên cӫa control
Parent ChӍ ÿӃn control chӭa control hiӋn hành
Right Là khoҧng cách theo chiӅu ngang tӯ cҥnh phҧi cӫDFRQWUROÿӃn cҥnh trái
cӫa control chӭa nó
TabIndex Thӭ tӵ focus khi nhҩn phím Tab (trên bàn phím) cӫa control so vӟi các
control khác cùng nҵm trong control chӭa nó
TabStop ChӍ ÿӏQK FRQWURO Fy ÿѭӧc phép “bҳW´ 7UXH NK{QJ ÿѭӧc phép “bҳt”
(False) phím Tab NӃXNK{QJÿѭӧc phép thì TabIndex cNJQJNK{QJGùng ÿѭӧc
Tag Là nhãn phân biӋt giӳa các control giӕng nhau trong cùng form
Text Nӝi dung hiӋn trong control
Top Là khoàng cách theo chiӅu dӑc tӯ cҥnh trên cӫD FRQWUROÿӃn cҥnh trên
cӫa control chӭa nó
Visible Cho phép control hiӋn (True) / không hiӋn (False) khi chҥy ӭng dөng
Width Là chiӅu rӝng cӫa control tính tӯ cҥnh trái cӫDFRQWUROÿӃn cҥnh phҧi cӫa
control
* Bҧng trình bày các SKѭѫQJWKӭc (Method) xӱ lý trên chuӛi
Clear() Xóa nӝi dung
ResetText() Xóa nӝi dung Text
Trim() Cҳt bӓ khoҧng trҳng thӯa hai bên chuӛi
Name 4X\ÿӏnh font chӳ FKRYăQEҧn
Bold 7UXHÿұm / False: bӓ ÿұm
Italic True: nghiêng / False: bӓ nghiêng
Size 4X\ÿӏnh cӥ chӳ FKRYăQEҧn
Underline True: gҥFKGѭӟi / False: bӓ gҥFKGѭӟi
TextAlign Canh lӅ (Left / Center / Right)
2 TextBox ( )
Trang 21a Công dөng:
- Dùng trình bày văQEҧQYjFKRSKpSQJѭӡLGQJÿѭӧFWKD\ÿәi nӝLGXQJYăQEҧn
- Công dөQJFKtQKOjFKRQJѭӡi dùng nhұSYăQEҧn
PasswordChar 4X\ÿӏnh ký tӵ hiӇn thӏ cho ô mұt khҭu
Multiline True: hiӋn thanh cuӝn / False: không hiӋn thanh cuӝn
ScrollBars Thanh cuӝn (None / Horizontal / Vertical / Both)
+ Username vào TextBox 7rQÿăQJQKұp (Name: txtUser)
+ Password vào TextBox Mұt khҭu (Name: txtPass)
Trang 22- Chӑn hoһc không chӑn ô CheckBox Ghi nhӟ (Name: chkNho)
- Nhҳp button ĈăQJQKұp thì hiӋn ra hӝp thông báo chӭa 7rQÿăQJQKұp, Mұt khҭu; Và
“Bҥn có ghi nhӟ” (nӃu chkNho FyÿiQKGҩu chӑn)
- Nhҳp button Xóa thì xóa trӕng TextBox 7rQÿăQJQKұp và TextBox Mұt khҭuÿӗng
thӡi di chuyӇn con trӓ vào txtUser
thongbao += this.txtPass.Text;
if (this.chkNho.Checked==true) {
thongbao += "\n\rBңQFyJKLQKӝ; }
MessageBox.Show(thongbao,"Thông báo");
- NhҳSÿ~SYjREXWWRQXóaWKrPÿRҥn code sau:
1 MessageBox.Show: hiӋn hӝp thông báo
MessageBox.Show("Thông báo" , 7LrXÿӃ);
MessageBox.Show("Thông báo", 7LrXÿӃ, Buttons, Icon);
Trang 23- Nhӡ FyHYHQWQJѭӡi lұp trình sӁ nhұQÿѭӧc nhӳng tín hiӋu và xӱ lý nhӳng tín hiӋXÿyÿӇ
phҧn hӗi lҥLFKRQJѭӡi dùng, tҥo nên sӵ nhӏSQKjQJFKRFKѭѫQJWUình
4 Bҧng trình bày các sӵ kiӋn (Events) cӫa control
Click GӑLÿӃn khi control bӏ Click Trong mӝt vài control, event này cNJQJ[ҧy
UDNKLQJѭӡi dùng nhҩn phím Enter
DoubleClick GӑLÿӃn khi control bӏ Double-Click Trong mӝt vài control, event này
không báo giӡ ÿѭӧc gӑi Ví dө: control Button
DragDrop GӑLÿӃn khi viӋF³'UDJDQG'URS´ÿѭӧc hoàn tҩt
DragEnter GӑLÿӃQNKLÿӕLWѭӧng vӯDÿѭӧF³'UDJ´ÿӃn biên cӫa control
DragLeave GӑLÿӃQNKLÿӕLWѭӧng vӯDÿѭӧc “Drag” ra ngoài biên cӫa control
DragOver GӑLÿӃQNKLÿӕLWѭӧQJÿѭӧc “Drag” bên trong control
KeyDown GӑLÿӃn khi vӯa bҩm mӝt phím bҩt kǤ tӯ FRQWUROÿDQJIRFXV
Sӵ kiӋQQj\OX{Qÿѭӧc gӑLWUѭӟc sӵ kiӋn KeyUp
KeyPress GӑLÿӃn khi vӯa bҩm mӝt phím bҩt kǤ tӯ FRQWUROÿѭӧc focus
Sӵ kiӋn nj\ÿѭӧc gӑi sau sӵ kiӋn KeyUp
KeyUp GӑLÿӃn khi vӯa bҩm mӝt phím bҩt kǤ rӗi thҧ ra tӯ FRQWUROÿDQJIRFXV
Sӵ kiӋQQj\OX{Qÿѭӧc gӑi sau sӵ kiӋn KeyDown
GotFocus GӑLÿӃQNKLFRQWUROÿѭӧc focus
LostFocus GӑLÿӃn khi control bӏ mҩt focus
MouseDown GӑL ÿӃn khi con trӓ chuӝt nҵm trên 1 control và nút chuӝW ÿѭӧc nhҳp
QKѭQJFKѭDWKҧ ra
MouseMove GӑLÿӃn khi con trӓ chuӝWÿLTXDFRQWURO
MouseUp GӑLÿӃn khi con trӓ chuӝt nҵm trên 1 control và nút chuӝt vӯDÿѭӧc thҧ
Paint GӑLÿӃQNKLFRQWUROÿѭӧc vӁ
Validated GӑL ÿӃQ NKL FRQWURO IRFXV SURSHUW\ &DXFHV9DOLGDWLRQ ÿѭӧF ÿһt là true
và sau khi gӑi viӋc kiӇm tra bҵng Validating
Validating GӑL ÿӃn khi control mҩW IRFXV SURSHUW\ &DXFHV9DOLGDWLRQ ÿѭӧF ÿһt là
true
Ví dө 3.2:
* Cҧi tiӃn Vi Du 3.1 cho button Dӯng QKѭVDX
- Khi nhҳp vào button Dӯng thì xuҩt hiӋn hӝp thoҥi hӓLÿiSFyEXWWRQ2N&DQFHO
- &KѭѫQJWUình chӍ dӯng khi nhҳp tiӃp vào nút Ok
DialogResult traloi;
traloi = MessageBox.Show("ChұFNK{QJ", "TrҥOӟL,
MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if ( traloi == DialogResult.OK) Application.Exit();
Ví dө 3.3:
* Khӣi tҥo mӝt ӭng dөQJ:LQGRZV)RUPV$SSOLFDWLRQOѭXYӟi tên là Vi Du 3.3 gӗm:
Trang 24+ 7rQQJѭӡi dùng vào TextBox txtUser
+ Mұt khҭu vào TextBox txtPass
- Nhҳp button ĈăQJQKұp thì thӵc hiӋn kiӇm tra
+ NӃu txtUser = "teonv " và txtPass = " 123" thì chuyӇQVDQJ)RUP
+ 1Jѭӧc lҥi thì thông báo ".K{QJÿ~QJWrQQJѭӡi dùng / mұt khҭu !!!"
- Nhҳp button Thoát thì hiӇn thӏ thông báo "Chҳc không? "
+ NӃu chӑn Yes thì kӃWWK~FFKѭѫQJWUình
1Jѭӧc lҥi thì trӣ lҥi màn hình ĈăQJQKұp hӋ thӕng
Trang 25+ Size: 12
+ Text: ĈăQJQhұp hӋ thӕng
+ Icon: logo.ico
ĈăQJQKұp: NhҳSÿ~SYjREXWWRQEWQ'DQJQKDSJõ vào ÿRҥn code sau
if ((this.txtUser.Text=="teonv")&&(this.txtPass.Text=="123"))
traloi = MessageBox.Show("ChұFNK{QJ", "TrҥOӟL,
MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if ( traloi == DialogResult.OK)
Application.Exit();
Bài tұp
1 - ThiӃt kӃ IRUPQKѭPүu
(txtsSo1, txtSo2, txtKQ, btnCong, btnTru, btnNhan, btnChia, btnXoa)
- ViӃW FKѭѫQJ WUình làm các phép toán: cӝng, trӯ, nhân, chia cho các button btnCong,
btnTru, btnNhan, btnChia
- Xóa: Xóa trҳng các TextBox
- Thêm vào button D ӯng (btnDung), khi nhҳp vào btnDung thì dӯQJFKѭѫQJWUình
- Cҧi tiӃn:
Khi nhҳp button btnChia, nӃu txtSo2 là 0 thì xuҩt hiӋn hӝp thông báo lӛi rӗi xóa trӕng
txtSo2 và di chuyӇn con trӓ ÿӃn TextBox này
2 ViӃWFKѭѫQJWUình giҧLSKѭѫQJWUình bұc nhҩt: bx + c = 0
Trang 26(txtB, txtC, btnGiai, txtKQ)
- Thêm vào button D ӯng, khi nhҳp vào button này thì dӯQJFKѭѫQJWUình
3 ViӃWFKѭѫQJWUình giҧLSKѭѫQJWUình bұc hai: ax2 + bx + c = 0
4 ViӃW FKѭѫQJ WUình nhұp vào: hӑ tên (txtHoTen), nӳ FKN1X ÿLӇP YăQ W[W9DQ ÿLӇm
WRiQW[W7RDQ ÿLӇm ngoҥi ngӳ (txtNN)
- Nhҳp vào nút Tính (btnTinh) thì in ra ÿLӇm thҩp nhҩWW[W'71 ÿLӇm kӃt quҧ (txtDKQ),
xӃp loҥi (txtXL) BiӃt rҵng:
+ ĈL͋m th̭p nh̭t: txtDTN OjÿLӇm thҩp nhҩWWURQJÿLӇPYăQtoán, ngoҥi ngӳ
+ ĈL͋m thêm: DThem = 0.5 nӃu là nӳ; DThem = 0 nӃu là nam
+ ĈL͋m k͇t qu̫: txtKQ = txtVan * 2 + txtToan * 2 + txtNN + DThem
+ X ͇p lo̩i theo tiêu chuҭn:
Giӓi: nӃu txtKQ >= 40 và txtDTN >= 7
Khá: nӃu txtKQ >=35 và txtDTN >= 6
Trung bình: nӃu txtKQ >= 25 và txtDTN >= 5
YӃu: FiFWUѭӡng hӧp còn lҥi
- Nhҳp vào nút Xóa (btnXoa) thì xóa hӃt các nӝi dung trong các TextBox
- Thêm vào button D ӯng, khi nhҳp vào button này thì dӯQJFKѭѫQJWUình
5 ViӃWFKѭѫQJWUình tҥo mӝt ӭng dөng gӗm:
- Form1: Màn hình chính có 5 button: Bài t ұp 1 (btnBT1), Bài tұp 2 (btnBT2), Bài tұp 3
(btnBT3), Bài t ұp 4 (btnBT4), Thoát (btnThoat)
+ Khi nhҳp vào Button Bài Tұp 1: mӣ Form2
+ Khi nhҳp vào Button Bài Tұp 2: mӣ Form3
+ Khi nhҳp vào Button Bài Tұp 3: mӣ Form4
+ Khi nhҳp vào Button Bài Tұp 4: mӣ Form5
- Form2: thӵc hiӋn bài tұp 1 Bә sung Button Trӣ vӅ ÿӇ ÿyQJ)RUP
- Form3: thӵc hiӋn bài tұp 2 Bә sung Button Trӣ vӅ ÿӇ ÿyQJ)RUP
- Form4: thӵc hiӋn bài tұp 3 Bә sung Button Trӣ vӅ ÿӇ ÿyQJ)RUP
- Form5: thӵc hiӋn bài tұp 4 Bә sung Button Trӣ vӅ ÿӇ ÿyQJ)RUP
- oOo -
Trang 27Bài 4: (tiӃp theo) XÂY DӴNG WINDOWS FORMS APPLICATION
* Nhұp giá trӏ vào ListBox: <Ten_ListBox>.Items.Add ("Chuӛi") ;
* Lҩy giá trӏ trong ListBox: <Ten_ListBox>.SelectedItem.ToString() ;
- TextBox txtKQ (chӭa kӃt quҧ ... Microsoft Visual Studio 2008
1 KhӣLÿӝng
§ %ѭӟc 1: KhӣLÿӝng Visual Studio 2008
Start | All Programs | Microsoft Visual Studio 2008 | Microsoft Visual Studio. .. KiӇu xây dӵng sҹn (built-in): ngôn ngӳ cung cҩSFKRQJѭӡi lұp trình
- KiӇXGRQJѭӡLGQJÿӏnh nghƭDXVHU-GHILQHGGRQJѭӡi lұp trình tҥo
1 KiӇu dӳ liӋu dӵng sҹn
byte... FyHYHQWQJѭӡi lұp trình sӁ nhұQÿѭӧc nhӳng tín hiӋu xӱ lý nhӳng tín hiӋXÿyÿӇ
phҧn hӗi lҥLFKRQJѭӡi dùng, tҥo nên sӵ nhӏSQKjQJFKRFKѭѫQJWUình
4 Bҧng trình bày sӵ kiӋn (Events)