Tải bản đầy đủ (.pdf) (108 trang)

Bài giảng Cơ sở lập trình pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.54 MB, 108 trang )


===================================

Bài giảng
Cơ sở lập trình 2
===================================


Bài gi lp 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 lp 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 lp 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 lp 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 lp 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
Vi s phát trin liên t dng ca th gii công ngh thông tin ngày nay, các phn
mm, các h u hành, các  ng phát trin và các ng dng liên tc ra i. Tuy
c phát tring nht và nht là do  mt li ích
ca các công ty phn mm ln làm n công vic ca nhng k  xây dng

phn mm.
Trong gii phát trin ng dng trên Internet ta có th s dng các ngôn ng Java, PHP,
 Java mi c Sun Corporation gii thiu nó mt sc m và
ng ti vic chy trên nhiu h u hành c lp vi các b x lý. c bit
Java rt thích hp cho vic vit các ng dng trên Internet. Tuy nhiên, Java li có hn ch v
mt tc  và trên thc t vnh hành.
 làm gim kh ng ca Java, bên hãng p ngôn ng
ASP -    vit các ng dng trên Web. Trong các trang ASP va cha th
HTML va ch n script (VBScript, JavaScript). Trong quá trình x lý mt trang
ASP, nu là th HTML thì s c gi thng ti trình duyt, còn nu là các n script thì s
c chuyn thành các dòng HTML ri g. Khi nhà lp trình mu dng
li mt s ch dch 
Web Server. Tuy nhiên, vì lý do bo mt nên các Admin ca các trang ng rt dè
dt khi cài ActiveX l trên máy ca h, ngoài ra vic tháo g các phiên bn ca ActiveX này
c r
Còn trong gii phát trin ng dng trên Windows ta có th vit ng dng bng Visual C++,
Delphi, Visual Basict s công c ph bin và m
mt ngôn ng rt mnh  t khó s dn d hc, d
dùng nht nên rt thông dng n ch là Visual Basic không phi ngôn ng ng
ng và không h tr kh n thut toán.
Tóm li trong gii lp trình theo Microsoft thì vic ln lp trình
h phân tán hay trên web là nhng mc lp.
1.2. Sự ra đời của Visual Studio.NET
 khi hoàn tt phiên bn Version 4 ca Internet Information Server -IIS,
p trình ca Microsoft nhn thy h còn có rt nhiu sáng ki có th kin toàn
Bài gi lp trình 2 6


IIS, và h bu xây dng mt kin trúc mi trên nn tt tên là Next
Generation Windows Services - NGWS. Tham vng ca h là cung cp mng có

th dùng chung cho tt c ngôn ng lp trình trong b Visual Studio cho các ngôn
ng lp trình ca các công ty khác.
Kt qu u cho mng lp trình
trên nn .NET Framework 1.0 tiên tin mi.
p thêm mt bc vi phiên bn 1.1 vc
n thng  là các tp tin .exe gi 
còn tn ti nh nhy trên nn .NET. Mun chy
 c. Mu
i ca tt c lp trình viên, t phiên bc cài
  t phn m nh c      ng phát trin Visual
c nâng cp thành Visual Studio .NET 2003 cho phép vit và chy các
ng dng trên nn .NET Framework 1.1
Cui nn .NET Framework 2.0 mnh m t tr
so vi n            phiên bn
Windows Vista, và toàn b Windows là .NET, tt c các hàm API lõi trong nhng phiên bn
c thay th bng các hàm 
vit li hoàn toàn lõi API, không còn mt lp API nào na.
1.3. Tổng quan về Visual Studio.NET
Visual Studio.NET gm 2 phn: Framework và Integrated Development Environment IDE,
cho phép lp trình viên khi xây dng các ng dng có th la chn s dng nhiu ngôn ng
l           
     ng phát trin IDE thng nht trên kin trúc .NET
Framework.
Framework là thành phn quan trng nht, là ct lõi và tinh hoa c  ng .NET,
Framework giúp chúng ta biên dch và thc thi các ng dng .NET (cu trúc ca Framework
chúng ta s tìm hiu  a giáo trình).
IDE cung cp mt ng phát trin trc quan, giúp các lp trình viên có th d dàng và
nhanh chóng xây dng giao dit mã lnh cho các ng dng da trên nn tng
.NET. N dùng mt trình son tho n bt k, ví
d n vit mã lnh và s dng  biên dch và thc thi ng

dng. Tuy nhiên vic này mt rt nhiu thi gian, tt nht là chúng ta nên dùng IDE  phát
trin các ng dng, và   s dng nht.
Ngoài ra trong Visual Studio.NET thì l, ví d c
Visual C#.NET lu h tr kh 
Bài gi lp 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, xut
hin ca s Start Page.

Hình 1. Cửa sổ Start Page
+ New Project: T án mi.
+ Open Project: M  án có sn.
+  án gt.
 Kích chn mc New Project hoc vào File/New/Project hoc bm phím tt Ctrl+Shift+N
xut hin ca s New Project
Bài gi lp trình 2 8



Hình 2. Cửa sổ New Project
 Chn ngôn ng Visual C# và ng dng Windows.
  án ti mc Name.
 Chng d án ti mc Location.
 Mc Create directory for solution cho phép to mc ti Location cha tt c
các tp phát sinh c án (nu không các tp c án s i Location).

Hình 3. Thư mục chứa đồ án
 Chn OK  to m án mi.

Bài gi lp trình 2 9


Kt qu xut hin ca s ng phát trin tích hp IDE, vi giao din 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 trin, tht
ng d
 File: cho phép m, thêm m  
 Edit: gm các thao tác h tr vic son tho mã lt, dán
 View: cho phép hin th các công c h tr i dùng trong quá trình xây d

- Ca s vit mã lnh - Code
- Form thit k - Designer
Bài gi lp trình 2 10


- Hp công c - Toolbox
- Thanh công c - Toolbars
- Ca s thuc 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 chy và g r
 Data: cho phép thêm mi và hin th  d liu c án.
 Tools: cung cp các công c cho phép kt ni ti các thit b ngo
c kt ni ti các h qun tr  d lit ni ti máy
ch 

 Toolbar: thanh công c gm mt tp hp các nút lnh, mi nút lnh cha mt bing
icons và có chi cha mt mc la chn trong thanh menu.
Thanh công c rt hu ích và tri dùng d dàng và nhanh chóng thc hin
mt chn ch thông qua mt cái kích chut.
Visual C# 2010 có ti 39 thanh công c      
Build Ví d hình nh thanh công c Standard:

Hình 5. Thanh công cụ Standard
 gi các thanh công c ta vào View/Toolbars  xut hin danh sách tt c các
thanh công c. Mun n/hin thanh công c nào ta kích chn ti dòng cha tên thanh công
c 
 Toolbox: là hp công c chu khin  t lên Form khi thit k
giao dii dùng.
 hin th hp công c ta thc hin mt trong các cách sau:
 Vào View/Toolbox
 Bm t hp phím Ctrl+W+X
 Kích chut ti bing Toolbox trên thanh công c Standard.
Bài gi lp trình 2 11



Hình 6. Hộp công cụ Toolbox
Mnh hp công c c chia thành 11 All Windows Forms, Common
Controls
Ta có th thêm mi, loi bi tên các tab bng cách kích chut phi ti v trí bt k trên
tab, xut hin mt menu ng cnh cho phép la chn các thao tác cn thc hin.

Hình 7. Các chức năng làm việc với từng tab trong Toolbox
Bài gi lp trình 2 12



Trong mi tab ca hp Toolbox cha danh sách các loi u khiu
khin này có th thêm mi, loi bi v Kích chut phi ti mu khin bt
k trên tab, xut hin mt menu ng cnh cho phép la chn các thao tác cn thc hin.
Ví d  thêm mi mu khin vào trong tab Data, ta kích chut phi ti v trí bt k trên
tab Data, chn 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
Kt qu s xut hin ca s Choose Toolbox Items, kích chu khin mong mun ri
b kt thúc.

Hình 9. Cửa sổ Choose Toolbox Items
Bài gi lp trình 2 13


 Form Designer: ca s thit k  thit k giao dii d án
có th có mt hoc nhiu Form.

Hình 10. Cửa số Form Designer
 Solution Explorer: ca s gii pháp - n ca s giúp ta qun lý tt c các tài
nguyên và tp tin d án.
c t chc thành mt cu trúc cây bao gm nhng m
danh sách các Form c án, danh sách các l
 d li
 hin th ca s Solution Explorer ta thc hin mt trong các cách sau:
 Vào View/Solution Explorer
 Bm t hp phím Ctrl+W+S
 Kích chut ti bing Solution Explorer trên thanh công c Standard

Hình 11. Cửa sổ Solution Explorer

Bài gi lp trình 2 14


Trong ca s Solution Explorer có hai thành phn hay dùng là View Code và View Designer.
View Code: có tác dng hin th ca s son tho mã lc chn. Ngoài
 hin th ca s son tho mã lnh ta còn có mt s 
 Vào View/Code.
 Bm phím tt F7.
 t ti ca s thit k ca form.
Giao din ca s son tho 

Hình 12. Cửa sổ soạn thảo
View Designer: có tác dng hin th ca s thit k giao din cc chn.
 hin th ca s thit k giao din ta còn có mt s 
 Vào View/Designer
Bài gi lp trình 2 15


 Bm phím tt Shift+F7.
 Properties Window: ca s này lit kê tt c các thuc tính, s kin cu khin
trong form.
Mun hin th thuc tính cng nào ta kích chut chca s
thit k giao din, hoc chn tên ng trong danh sách th xung  phu ca ca s
Properties.

Hình 13. Cửa sổ Properties
Mi thuc tính có mt giá tr mnh, ta có th thay i giá tr ca các thuc tính trc tip
ti ca s Properties trong lúc thit k, hoc  i bng mã lnh trong lúc thi hành
.
 hin th ca s Properties ta thc hin theo mt trong các cách sau:

 Vào View\Properties Window.
 Kích chn bing Properties Window trên thanh công c Standard.
 Bm phím tt Ctrl+W+P


Bài gi lp trình 2 16


CHƢƠNG 2.
VIẾT CHƢƠNG TRÌNH ĐẦU TIÊN
Mt ng dng trong C# c thc hic sau:
 Thiết kế giao diện.
 Viết mã lệnh cho chƣơng trình.
1. Đề bài
Vim 1 hn Textbox và 3 nút lnh Button: Display, Clear, Exit vi
các yêu cu sau:
 Kích chut vào nút Display thì trong hn xut hin dòng ch
Visual C# 2010
 Kích chut vào nút Clear thì ni dung trong hn m.
 Kích chu thoát khquay li ca s son tho.

Hình 14. Giao diện chương trình đầu tiên
3. Mở đồ án mới
M Microsoft Visual Studio 2010, chn File/New/ khng m án mi.
Chn ngôn ng Visual C# và ng dng Windows     án ti mc Name là
Welcome ri chn OK.
4. Thiết kế giao diện
4.1. Đặt tên và tiêu đề cho form
Bài gi lp trình 2 17



Kích chut vào v trí bt k trên Form, trong ca s Properties sa các thuc tính:
 Name: frmWelcome
 Text: The first program
Trong ca s Solution Explorer kích chut ti Form1.cs, trong ca s Properties sa thuc
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 chut vào bing trên hp công c Toolbox, gi và kéo chu t
Textbox vào Form. Ngoài ra ta có th  chut ti biu ng TextBox, u khin này
s c t t vào Form.
u khin TextBox trong Form ta có th i v c ca Textbox
cho phù hp.
Khi mi xut hin trên Form hp Textbox có tên mnh là TextBox1, i giá tr
này bng cách kích chut chu khin TextBox1, ti ca s Properties chn thuc tính
Name sa thành txtWelcome.
4.3. Thêm điều khiển nút lệnh Button
Kích chut vào bing , gi và kéo chut u khin nút lnh lên Form, nút
lnh này có tên mnh là Button1 và n
Bài gi lp trình 2 18


Thc hin   thêm 2 nút lnh Button2 và Button3 vào form.
 i hai thuc tính Name và Text ca các nút lnh ta thc hin 
 Kích chut vào nút lnh 1, trong ca s Properties sa thuc tính Name là
btnDisplay, thuc tính Text là Display
 Kích chut vào nút lnh 2, sa thuc tính Name là btnClear, thuc tính Text là Clear
 Kích chut vào nút lnh 3, sa thuc tính Name là btnExit, thuc tính Text là Exit
Chú ý: Mu khiu có thu d dàng qun lý, g r

nên t tên u khi ng vi cha nó và có tiu ng ch lou
khin  u.
Ví d: Textbox có tiu ng - txt, Button - btn, Form - frmác tiu ng c vit
ch ng, tên cu khic vit 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 ca s son tho Code Editor bng cách kt vào nút Display. Trong ca
s Code, C# n cho chúng ta mt không gian tên - namespace i din cho form
2 dòng m u và kt thúc cho s kin Click ca nút Display.
Gõ vào gia th tc btnDisplay_Click dòng lnh gán giá tr C# 2010
cho thuc tính Text cu 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 lp trình 2 19



private void btnDisplay_Click(object sender, EventArgs e)
{
txtWelcome.Text = "Welcome to Visual C# 2010";
}
}
}
Chú ý:
Ht c các th tc x lý mt s kia các u khiu có 2
i s
 i s sender có kiu object i di kin.
 i s e có kiu EventArgs cha các thông tin v s ki trí chut, thi
gian phát sinh s ki
Ta có cu  gán giá tr cho thuc tính ca mu khin khi vit mã l
sau:
<Tên điều khiển>.<Thuộc tính> = <Giá trị>;
Các thuc tính c  u khin trong C# rt phong phú, C# cung cp tin ích
Intellisence t ng hin th mt danh sách các thuc tính cu khin sau khi ta gõ
u khin và du ch
 la chn mt thuc tính, ta có th ng  la chn hoc gõ
các ký t u ca thuc tính cn s dn phím Tab hoc du cách  t ng
chèn tên thuc tính vào dòng lnh.

Hình 16. Tiện ích Intellisence
Bài gi lp trình 2 20


ng son tho, nu gõ sai cú pháp thì C# s bt li ngay bng cách hin th
mt ng gi câu lnh sai. Khi sa xong l
s t ng bin mt.

5.2. Viết code cho nút lệnh btnClear
Quay li ca s thit k Design, kt vào nút Clear, gõ mã lnh 
sau:
private void btnClear_Click(object sender, EventArgs e)
{
txtWelcome.Text = "";
}
5.3. Viết code cho nút lệnh btnExit
Quay li ca s thit k Design, kt vào nút Exit, gõ mã lnh 
private void btnExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
Lnh Application.Exit() có tác dng i b nh tt c các ca s c
thc hi quay tr v ca s thit k.
6. Lƣu đồ án
Chn File/Save All hoc kích chn bing 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 tp tin sau:
 .slnp tin gii pháp (solution file), mi ng dng có mt tp tin loi này nó
bao gm mt hoc nhiu tp tin d án.
 .csproj: p tin d án (project file) ca C#, mi tp tin d án gm mt hoc
nhiu tp tin ngun, các tp tin ngun trong cùng mt d án phc vit cùng mt
ngôn ng.
 .cs: p tin ngun (source file) ca mã lnh ch.
 AssemblyInfor.cs: tp tin này cho phép thêm mt s thu
tên tác gi, ngày t
Bài gi lp trình 2 21



8. Chạy chƣơng trình
 chy mt C# ta thc hin theo 1 trong các cách sau:
 Chn Debug/Start Debugging.
 Kích chut vào bing Start Debugging trên thanh công c Standard.
 Bm phím tt F5.
9. Dừng chƣơng trình
Khi chu xut hin li ta có th d và quay v ca s son
th sa li. Ta có các cách thc hin sau:
 Vào Debug/Stop Debugging.
 Kích chut vào bing Stop Debugging trên thanh công c Standard.
 Bm phím tt Ctrl+Alt+Break.
10. Mở đồ án đã có
 m m c hi
 M c ch án, ví d ng dn D:\
vào tp tin Welcome.sln  m  án Welcome.
 M ng Microsoft Visual Studio 2010, trong ca s Start Page kích ch
án cn m trong mc Recent Projects (nu có).
 M  ng Microsoft Visual Studio 2010, vào File/Open Project, ch ng
dn tp tin .sln c án ri chn Open.
11. Thoát khỏi Visual C# 2010
 Chn File/Exit.



Bài gi lp 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 cha d liu tm thi trong quá trình tính toán.
 ngay t u, bin c chia
thànhbao

 Bên trong php ca Form.
 Bên trong mt c.
public partial class frmWelcome : Form
{
// Ni khai báo bin;
private void bntDisplay_Click(object sender, EventArgs e)
{
// Ni khai báo bin;
}
}
Phm vi ca mt bin: ph thuc vào v trí khai báo ca bin, nu bic khai báo trong
php ca Form thì là bin toàn cc có tác dng trong toàn b n mã
lnh ca form, nu bic khai báo bên trong mc thì là bin cc b ch có
tác dc cha nó.
Bin ging chic hp trong b nh có kh  giá tr, có nhiu kiu giá
tr khác nhau mà C# có th x u s nguyên, kiu s thc, kiu ký t
báo mt bin ta phi ch ra kiu giá tr mà nó s .
Cú pháp  :
Kiểu dữ liệu Tênbiến [=Giá trị];
Tênbiến: là mt chui các ký t i lp trình t t bao gm các ch cái, ch s và
du gi. Tên bin phi bu bng mt ch cái, c cha du cách, C# phân
bit ch hoa ch ng.
Bài gi lp trình 2 23



1.2. Hằng
 cha nhng d liu có giá tr i trong sut quá trình tính
toán. S dng hng a d c nh tên gi gi nh thay vì các con s.
Hc 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  ln 4 bytes, l ln 8 bytes.
float, double: biu din các s thc, kiu float dùng 4 bytes, double dùng 8 bytes.
Ví d khai báo bin 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 ly ph 5 % 2=1, 10.8 % 4 = 2.8
 Math.Round(x,n): hàm làm tròn s thc, ví d: Math.Round(11.346,2) = 11.35
 Math.Sin(x): hàm tính giá tr ca sin(x)
 Math.Cos(x): hàm tính giá tr ca cos(x)
 Math.Exp(x): hàm tính giá tr e
x

Bài gi lp 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 tuyi ca x
 Math.Sqrt(x): c hai ca x
 Math.Floor(x): hàm tr v s nguyên gn x nht, ví d: Math.Floor(11.756) = 11
 Math.Truncate(x): hàm tr v phn nguyên ca 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: kt qu tr v ca các phép toán so sánh có dng c sai.
 L: >
 Nh : <
 Lc bng: >=
 Nh c bng: <=
 Bng: ==
 Khác: !=
1.3.2. Kiểu ký tự - char
char là kiu d liu cha các ký t trong bng mã ASCII t trong cp du nháy

Khai báo bin ký t:
char ch=‟+‟;
1.3.3. Kiểu chuỗi - string
string là mt chui các ký t t trong cp du nháy kép. Trong VS.NET có h tr font
Unicode nên ta có th gõ ting Vit có du.
Ví d khai báo bin chui:
string s=”Hà N
Các phép toán trên kiểu dữ liệu chuỗi

×