===================================
Bài giảng
Cơ sở lập trình 2
===================================
Bài gi lp trình 2 1
Mục lục
CHƢƠNG 1. 5
1. 5
1.1. 5
1.2. 5
1.3. 6
2. 7
CHƢƠNG 2. 16
1. 16
3. 16
4. 16
4.1. 16
4.2. 17
4.3. 17
5. 18
5.1. 18
5.2. 20
5.3. 20
6. 20
7. 20
8. C 21
9. 21
10. 21
11. 21
CHƢƠNG 3. 22
1. 22
1.1. 22
1.2. 23
1.3. 23
1.4. 27
Bài gi lp trình 2 2
2. MessageBox 28
2.1. 28
2.2. 28
2.3. Hàm thông báo MessageBox 30
3. 30
3.1. 30
3.2. 31
32
3.3. for 36
3.4. while 36
3.5. do 37
3.6. 38
4. Hàm 39
4.1. 39
4.2. 40
4.3. hàm 40
4.4. 41
5. 42
5.1. 42
CHƢƠNG 4. 43
1. 43
2. 43
3. 44
3.1. Form 44
3.2. - TextBox 46
3.3. Button 48
3.4. Nhãn Lable 49
3.5. - ToolTip 49
3.6. 50
50
Bài gi lp trình 2 3
53
54
55
4. 57
4.1. Nhóm GroupBox 57
4.2. CheckBox 58
4.3. RadioButton 59
60
64
4.4. ListBox 65
67
69
4.5. ComboBox 71
73
74
74
75
4.6. 77
77
4.7. NumericUpDown 79
79
4.8. 81
82
4.9. 83
83
86
4.10. 87
CHƢƠNG 5. G 88
1. 88
88
Bài gi lp trình 2 4
2. 90
2.1. 90
2.2. 90
91
3. or 92
93
4. 94
94
95
CHƢƠNG 6. MENU VÀ 97
1. Menu - MenuStrip 97
1.1. 97
1.2. 98
98
2. Popup menu - ContextMenuStrip 99
99
3. 101
3.1. 101
p 26. 102
3.2. 102
3.3. 103
3.4. 103
3.5. Xoá 103
104
104
105
Bài gi lp trình 2 5
CHƢƠNG 1.
LÀM QUEN VỚI VISUAL STUDIO 2010
1. Giới thiệu Visual Studio.NET 2010
1.1. Tình hình trƣớc khi Visual Studio.NET ra đời
Vi s phát trin liên t dng ca th gii công ngh thông tin ngày nay, các phn
mm, các h u hành, các ng phát trin và các ng dng liên tc ra i. Tuy
c phát tring nht và nht là do mt li ích
ca các công ty phn mm ln làm n công vic ca nhng k xây dng
phn mm.
Trong gii phát trin ng dng trên Internet ta có th s dng các ngôn ng Java, PHP,
Java mi c Sun Corporation gii thiu nó mt sc m và
ng ti vic chy trên nhiu h u hành c lp vi các b x lý. c bit
Java rt thích hp cho vic vit các ng dng trên Internet. Tuy nhiên, Java li có hn ch v
mt tc và trên thc t vnh hành.
làm gim kh ng ca Java, bên hãng p ngôn ng
ASP - vit các ng dng trên Web. Trong các trang ASP va cha th
HTML va ch n script (VBScript, JavaScript). Trong quá trình x lý mt trang
ASP, nu là th HTML thì s c gi thng ti trình duyt, còn nu là các n script thì s
c chuyn thành các dòng HTML ri g. Khi nhà lp trình mu dng
li mt s ch dch
Web Server. Tuy nhiên, vì lý do bo mt nên các Admin ca các trang ng rt dè
dt khi cài ActiveX l trên máy ca h, ngoài ra vic tháo g các phiên bn ca ActiveX này
c r
Còn trong gii phát trin ng dng trên Windows ta có th vit ng dng bng Visual C++,
Delphi, Visual Basict s công c ph bin và m
mt ngôn ng rt mnh t khó s dn d hc, d
dùng nht nên rt thông dng n ch là Visual Basic không phi ngôn ng ng
ng và không h tr kh n thut toán.
Tóm li trong gii lp trình theo Microsoft thì vic ln lp trình
h phân tán hay trên web là nhng mc lp.
1.2. Sự ra đời của Visual Studio.NET
khi hoàn tt phiên bn Version 4 ca Internet Information Server -IIS,
p trình ca Microsoft nhn thy h còn có rt nhiu sáng ki có th kin toàn
Bài gi lp trình 2 6
IIS, và h bu xây dng mt kin trúc mi trên nn tt tên là Next
Generation Windows Services - NGWS. Tham vng ca h là cung cp mng có
th dùng chung cho tt c ngôn ng lp trình trong b Visual Studio cho các ngôn
ng lp trình ca các công ty khác.
Kt qu u cho mng lp trình
trên nn .NET Framework 1.0 tiên tin mi.
p thêm mt bc vi phiên bn 1.1 vc
n thng là các tp tin .exe gi
còn tn ti nh nhy trên nn .NET. Mun chy
c. Mu
i ca tt c lp trình viên, t phiên bc cài
t phn m nh c ng phát trin Visual
c nâng cp thành Visual Studio .NET 2003 cho phép vit và chy các
ng dng trên nn .NET Framework 1.1
Cui nn .NET Framework 2.0 mnh m t tr
so vi n phiên bn
Windows Vista, và toàn b Windows là .NET, tt c các hàm API lõi trong nhng phiên bn
c thay th bng các hàm
vit li hoàn toàn lõi API, không còn mt lp API nào na.
1.3. Tổng quan về Visual Studio.NET
Visual Studio.NET gm 2 phn: Framework và Integrated Development Environment IDE,
cho phép lp trình viên khi xây dng các ng dng có th la chn s dng nhiu ngôn ng
l
ng phát trin IDE thng nht trên kin trúc .NET
Framework.
Framework là thành phn quan trng nht, là ct lõi và tinh hoa c ng .NET,
Framework giúp chúng ta biên dch và thc thi các ng dng .NET (cu trúc ca Framework
chúng ta s tìm hiu a giáo trình).
IDE cung cp mt ng phát trin trc quan, giúp các lp trình viên có th d dàng và
nhanh chóng xây dng giao dit mã lnh cho các ng dng da trên nn tng
.NET. N dùng mt trình son tho n bt k, ví
d n vit mã lnh và s dng biên dch và thc thi ng
dng. Tuy nhiên vic này mt rt nhiu thi gian, tt nht là chúng ta nên dùng IDE phát
trin các ng dng, và s dng nht.
Ngoài ra trong Visual Studio.NET thì l, ví d c
Visual C#.NET lu h tr kh
Bài gi lp trình 2 7
2. Khởi động Visual C# 2010 và giao diện
Vào Start/Programs/Microsoft Visual Studio 2010/Microsoft Visual Studio 2010, xut
hin ca s Start Page.
Hình 1. Cửa sổ Start Page
+ New Project: T án mi.
+ Open Project: M án có sn.
+ án gt.
Kích chn mc New Project hoc vào File/New/Project hoc bm phím tt Ctrl+Shift+N
xut hin ca s New Project
Bài gi lp trình 2 8
Hình 2. Cửa sổ New Project
Chn ngôn ng Visual C# và ng dng Windows.
án ti mc Name.
Chng d án ti mc Location.
Mc Create directory for solution cho phép to mc ti Location cha tt c
các tp phát sinh c án (nu không các tp c án s i Location).
Hình 3. Thư mục chứa đồ án
Chn OK to m án mi.
Bài gi lp trình 2 9
Kt qu xut hin ca s ng phát trin tích hp IDE, vi giao din và các thành
ph
Hình 4. Môi trường phát triển tích hợp IDE
Title Bar ch án.
Menu Bar: Thanh Menu ch các công c c phát trin, tht
ng d
File: cho phép m, thêm m
Edit: gm các thao tác h tr vic son tho mã lt, dán
View: cho phép hin th các công c h tr i dùng trong quá trình xây d
- Ca s vit mã lnh - Code
- Form thit k - Designer
Bài gi lp trình 2 10
- Hp công c - Toolbox
- Thanh công c - Toolbars
- Ca s thuc tính - Properties Window
Project: cho phép b
component, các modul, các l
Built: cho phép biên d án.
Debug: cho phép chy và g r
Data: cho phép thêm mi và hin th d liu c án.
Tools: cung cp các công c cho phép kt ni ti các thit b ngo
c kt ni ti các h qun tr d lit ni ti máy
ch
Toolbar: thanh công c gm mt tp hp các nút lnh, mi nút lnh cha mt bing
icons và có chi cha mt mc la chn trong thanh menu.
Thanh công c rt hu ích và tri dùng d dàng và nhanh chóng thc hin
mt chn ch thông qua mt cái kích chut.
Visual C# 2010 có ti 39 thanh công c
Build Ví d hình nh thanh công c Standard:
Hình 5. Thanh công cụ Standard
gi các thanh công c ta vào View/Toolbars xut hin danh sách tt c các
thanh công c. Mun n/hin thanh công c nào ta kích chn ti dòng cha tên thanh công
c
Toolbox: là hp công c chu khin t lên Form khi thit k
giao dii dùng.
hin th hp công c ta thc hin mt trong các cách sau:
Vào View/Toolbox
Bm t hp phím Ctrl+W+X
Kích chut ti bing Toolbox trên thanh công c Standard.
Bài gi lp trình 2 11
Hình 6. Hộp công cụ Toolbox
Mnh hp công c c chia thành 11 All Windows Forms, Common
Controls
Ta có th thêm mi, loi bi tên các tab bng cách kích chut phi ti v trí bt k trên
tab, xut hin mt menu ng cnh cho phép la chn các thao tác cn thc hin.
Hình 7. Các chức năng làm việc với từng tab trong Toolbox
Bài gi lp trình 2 12
Trong mi tab ca hp Toolbox cha danh sách các loi u khiu
khin này có th thêm mi, loi bi v Kích chut phi ti mu khin bt
k trên tab, xut hin mt menu ng cnh cho phép la chn các thao tác cn thc hin.
Ví d thêm mi mu khin vào trong tab Data, ta kích chut phi ti v trí bt k trên
tab Data, chn Choose Items
Hình 8. Các chức năng làm việc với từng điều khiển trong tab
Kt qu s xut hin ca s Choose Toolbox Items, kích chu khin mong mun ri
b kt thúc.
Hình 9. Cửa sổ Choose Toolbox Items
Bài gi lp trình 2 13
Form Designer: ca s thit k thit k giao dii d án
có th có mt hoc nhiu Form.
Hình 10. Cửa số Form Designer
Solution Explorer: ca s gii pháp - n ca s giúp ta qun lý tt c các tài
nguyên và tp tin d án.
c t chc thành mt cu trúc cây bao gm nhng m
danh sách các Form c án, danh sách các l
d li
hin th ca s Solution Explorer ta thc hin mt trong các cách sau:
Vào View/Solution Explorer
Bm t hp phím Ctrl+W+S
Kích chut ti bing Solution Explorer trên thanh công c Standard
Hình 11. Cửa sổ Solution Explorer
Bài gi lp trình 2 14
Trong ca s Solution Explorer có hai thành phn hay dùng là View Code và View Designer.
View Code: có tác dng hin th ca s son tho mã lc chn. Ngoài
hin th ca s son tho mã lnh ta còn có mt s
Vào View/Code.
Bm phím tt F7.
t ti ca s thit k ca form.
Giao din ca s son tho
Hình 12. Cửa sổ soạn thảo
View Designer: có tác dng hin th ca s thit k giao din cc chn.
hin th ca s thit k giao din ta còn có mt s
Vào View/Designer
Bài gi lp trình 2 15
Bm phím tt Shift+F7.
Properties Window: ca s này lit kê tt c các thuc tính, s kin cu khin
trong form.
Mun hin th thuc tính cng nào ta kích chut chca s
thit k giao din, hoc chn tên ng trong danh sách th xung phu ca ca s
Properties.
Hình 13. Cửa sổ Properties
Mi thuc tính có mt giá tr mnh, ta có th thay i giá tr ca các thuc tính trc tip
ti ca s Properties trong lúc thit k, hoc i bng mã lnh trong lúc thi hành
.
hin th ca s Properties ta thc hin theo mt trong các cách sau:
Vào View\Properties Window.
Kích chn bing Properties Window trên thanh công c Standard.
Bm phím tt Ctrl+W+P
Bài gi lp trình 2 16
CHƢƠNG 2.
VIẾT CHƢƠNG TRÌNH ĐẦU TIÊN
Mt ng dng trong C# c thc hic sau:
Thiết kế giao diện.
Viết mã lệnh cho chƣơng trình.
1. Đề bài
Vim 1 hn Textbox và 3 nút lnh Button: Display, Clear, Exit vi
các yêu cu sau:
Kích chut vào nút Display thì trong hn xut hin dòng ch
Visual C# 2010
Kích chut vào nút Clear thì ni dung trong hn m.
Kích chu thoát khquay li ca s son tho.
Hình 14. Giao diện chương trình đầu tiên
3. Mở đồ án mới
M Microsoft Visual Studio 2010, chn File/New/ khng m án mi.
Chn ngôn ng Visual C# và ng dng Windows án ti mc Name là
Welcome ri chn OK.
4. Thiết kế giao diện
4.1. Đặt tên và tiêu đề cho form
Bài gi lp trình 2 17
Kích chut vào v trí bt k trên Form, trong ca s Properties sa các thuc tính:
Name: frmWelcome
Text: The first program
Trong ca s Solution Explorer kích chut ti Form1.cs, trong ca s Properties sa thuc
tính File Name là frmWelcome.cs
Hình 15. Đổi tên form trong cửa sổ Solution Explorer
4.2. Thêm điều khiển hộp văn bản Textbox
Kích chut vào bing trên hp công c Toolbox, gi và kéo chu t
Textbox vào Form. Ngoài ra ta có th chut ti biu ng TextBox, u khin này
s c t t vào Form.
u khin TextBox trong Form ta có th i v c ca Textbox
cho phù hp.
Khi mi xut hin trên Form hp Textbox có tên mnh là TextBox1, i giá tr
này bng cách kích chut chu khin TextBox1, ti ca s Properties chn thuc tính
Name sa thành txtWelcome.
4.3. Thêm điều khiển nút lệnh Button
Kích chut vào bing , gi và kéo chut u khin nút lnh lên Form, nút
lnh này có tên mnh là Button1 và n
Bài gi lp trình 2 18
Thc hin thêm 2 nút lnh Button2 và Button3 vào form.
i hai thuc tính Name và Text ca các nút lnh ta thc hin
Kích chut vào nút lnh 1, trong ca s Properties sa thuc tính Name là
btnDisplay, thuc tính Text là Display
Kích chut vào nút lnh 2, sa thuc tính Name là btnClear, thuc tính Text là Clear
Kích chut vào nút lnh 3, sa thuc tính Name là btnExit, thuc tính Text là Exit
Chú ý: Mu khiu có thu d dàng qun lý, g r
nên t tên u khi ng vi cha nó và có tiu ng ch lou
khin u.
Ví d: Textbox có tiu ng - txt, Button - btn, Form - frmác tiu ng c vit
ch ng, tên cu khic vit hoa ch u tiên, ví d: txtWelcome.
5. Viết code
5.1. Viết code cho nút lệnh btnDisplay
Ta m ca s son tho Code Editor bng cách kt vào nút Display. Trong ca
s Code, C# n cho chúng ta mt không gian tên - namespace i din cho form
2 dòng m u và kt thúc cho s kin Click ca nút Display.
Gõ vào gia th tc btnDisplay_Click dòng lnh gán giá tr C# 2010
cho thuc tính Text cu khi
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Welcome
{
public partial class frmWelcome : Form
{
public frmWelcome()
{
InitializeComponent();
}
Bài gi lp trình 2 19
private void btnDisplay_Click(object sender, EventArgs e)
{
txtWelcome.Text = "Welcome to Visual C# 2010";
}
}
}
Chú ý:
Ht c các th tc x lý mt s kia các u khiu có 2
i s
i s sender có kiu object i di kin.
i s e có kiu EventArgs cha các thông tin v s ki trí chut, thi
gian phát sinh s ki
Ta có cu gán giá tr cho thuc tính ca mu khin khi vit mã l
sau:
<Tên điều khiển>.<Thuộc tính> = <Giá trị>;
Các thuc tính c u khin trong C# rt phong phú, C# cung cp tin ích
Intellisence t ng hin th mt danh sách các thuc tính cu khin sau khi ta gõ
u khin và du ch
la chn mt thuc tính, ta có th ng la chn hoc gõ
các ký t u ca thuc tính cn s dn phím Tab hoc du cách t ng
chèn tên thuc tính vào dòng lnh.
Hình 16. Tiện ích Intellisence
Bài gi lp trình 2 20
ng son tho, nu gõ sai cú pháp thì C# s bt li ngay bng cách hin th
mt ng gi câu lnh sai. Khi sa xong l
s t ng bin mt.
5.2. Viết code cho nút lệnh btnClear
Quay li ca s thit k Design, kt vào nút Clear, gõ mã lnh
sau:
private void btnClear_Click(object sender, EventArgs e)
{
txtWelcome.Text = "";
}
5.3. Viết code cho nút lệnh btnExit
Quay li ca s thit k Design, kt vào nút Exit, gõ mã lnh
private void btnExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
Lnh Application.Exit() có tác dng i b nh tt c các ca s c
thc hi quay tr v ca s thit k.
6. Lƣu đồ án
Chn File/Save All hoc kích chn bing trên thanh công c Standard.
7. Các tệp tin của đồ án
Khi t án, Visual Studio.NET sinh ra các tp tin sau:
.slnp tin gii pháp (solution file), mi ng dng có mt tp tin loi này nó
bao gm mt hoc nhiu tp tin d án.
.csproj: p tin d án (project file) ca C#, mi tp tin d án gm mt hoc
nhiu tp tin ngun, các tp tin ngun trong cùng mt d án phc vit cùng mt
ngôn ng.
.cs: p tin ngun (source file) ca mã lnh ch.
AssemblyInfor.cs: tp tin này cho phép thêm mt s thu
tên tác gi, ngày t
Bài gi lp trình 2 21
8. Chạy chƣơng trình
chy mt C# ta thc hin theo 1 trong các cách sau:
Chn Debug/Start Debugging.
Kích chut vào bing Start Debugging trên thanh công c Standard.
Bm phím tt F5.
9. Dừng chƣơng trình
Khi chu xut hin li ta có th d và quay v ca s son
th sa li. Ta có các cách thc hin sau:
Vào Debug/Stop Debugging.
Kích chut vào bing Stop Debugging trên thanh công c Standard.
Bm phím tt Ctrl+Alt+Break.
10. Mở đồ án đã có
m m c hi
M c ch án, ví d ng dn D:\
vào tp tin Welcome.sln m án Welcome.
M ng Microsoft Visual Studio 2010, trong ca s Start Page kích ch
án cn m trong mc Recent Projects (nu có).
M ng Microsoft Visual Studio 2010, vào File/Open Project, ch ng
dn tp tin .sln c án ri chn Open.
11. Thoát khỏi Visual C# 2010
Chn File/Exit.
Bài gi lp trình 2 22
CHƢƠNG 3.
DỮ LIỆU VÀ CẤU TRÚC ĐIỀU KHIỂN
1. Biến, hằng và các kiểu dữ liệu
1.1. Biến
t ng d cha d liu tm thi trong quá trình tính toán.
ngay t u, bin c chia
thànhbao
Bên trong php ca Form.
Bên trong mt c.
public partial class frmWelcome : Form
{
// Ni khai báo bin;
private void bntDisplay_Click(object sender, EventArgs e)
{
// Ni khai báo bin;
}
}
Phm vi ca mt bin: ph thuc vào v trí khai báo ca bin, nu bic khai báo trong
php ca Form thì là bin toàn cc có tác dng trong toàn b n mã
lnh ca form, nu bic khai báo bên trong mc thì là bin cc b ch có
tác dc cha nó.
Bin ging chic hp trong b nh có kh giá tr, có nhiu kiu giá
tr khác nhau mà C# có th x u s nguyên, kiu s thc, kiu ký t
báo mt bin ta phi ch ra kiu giá tr mà nó s .
Cú pháp :
Kiểu dữ liệu Tênbiến [=Giá trị];
Tênbiến: là mt chui các ký t i lp trình t t bao gm các ch cái, ch s và
du gi. Tên bin phi bu bng mt ch cái, c cha du cách, C# phân
bit ch hoa ch ng.
Bài gi lp trình 2 23
1.2. Hằng
cha nhng d liu có giá tr i trong sut quá trình tính
toán. S dng hng a d c nh tên gi gi nh thay vì các con s.
Hc khai báo theo cú pháp sau:
const Kiểu dữ liệu Tênhằng = Giá trị;
1.3. Các kiểu dữ liệu
1.3.1. Kiểu số
int, long các s nguyên, int ln 4 bytes, l ln 8 bytes.
float, double: biu din các s thc, kiu float dùng 4 bytes, double dùng 8 bytes.
Ví d khai báo bin s:
int a; a=10;
long b=10L;
float c =19.34F;
double d=19.34;
Các phép toán số học:
Cộng: +,+=
Trừ: -, -=
Nhân: *, *=
Chia:/, /=. Ta có int/int=int, int/double=double, double/int=double,
double/double=double Ví d: 8/5=1; 8.0/5=1.6
Chú ý: các phép toán x[+,-,*,/i phép toán: x=x[+,-,*,/]y
%: phép chia ly ph 5 % 2=1, 10.8 % 4 = 2.8
Math.Round(x,n): hàm làm tròn s thc, ví d: Math.Round(11.346,2) = 11.35
Math.Sin(x): hàm tính giá tr ca sin(x)
Math.Cos(x): hàm tính giá tr ca cos(x)
Math.Exp(x): hàm tính giá tr e
x
Bài gi lp trình 2 24
Math.Pow(x,y): hàm tính giá tr x
y
Math.Abs(x): hàm tính giá tr tuyi ca x
Math.Sqrt(x): c hai ca x
Math.Floor(x): hàm tr v s nguyên gn x nht, ví d: Math.Floor(11.756) = 11
Math.Truncate(x): hàm tr v phn nguyên ca x, ví d: Math.Truncate(11.756) = 11
Ta có: Math.Floor(-11.756) = -12 và Math.Truncate(-11.756) = -11
Các phép toán so sánh: kt qu tr v ca các phép toán so sánh có dng c sai.
L: >
Nh : <
Lc bng: >=
Nh c bng: <=
Bng: ==
Khác: !=
1.3.2. Kiểu ký tự - char
char là kiu d liu cha các ký t trong bng mã ASCII t trong cp du nháy
Khai báo bin ký t:
char ch=‟+‟;
1.3.3. Kiểu chuỗi - string
string là mt chui các ký t t trong cp du nháy kép. Trong VS.NET có h tr font
Unicode nên ta có th gõ ting Vit có du.
Ví d khai báo bin chui:
string s=”Hà N
Các phép toán trên kiểu dữ liệu chuỗi