Upload
nicc-ngo
View
51
Download
5
Embed Size (px)
Citation preview
1
1Windows Form programming with VB.Net 2005.
BuBuổổi 5: Ki 5: Kỹỹ thuthuậật lt lậập trp trìình trong VB.NETnh trong VB.NET
Hàm (Function) - Thủ tục (Procedure)
Khái niệm lập trình hướng đối tượng (OOP: Object Orientation Programming)
Lập trình theo sự kiện (Event) và lập trình Thuộc tính (Property)
2Windows Form programming with VB.Net 2005.
HHààm (Function)m (Function)
[Public, Protected, Private] Function <Tên hàm> _[(Danh sách các tham số)] AS <ReturnType> _ [Handles
eventlist][Khai báo biến thuộc tầm vực của hàm][Các câu lệnh …][Exit Fucntion]Return <ReturnType>
End Fucntion
-- MMộột Ht Hààmm llàà dãy cdãy cáác câu lc câu lệệnh đnh đểể ththựực thi mc thi mộột công t công viviệệc, mc, mộột cht chứức năng đc năng đặặc thc thùù nnàào đo đóó
-- HHààmm đư đượợc gc gọọi đi đểể thi hthi hàành thnh thôngông qua tên thqua tên thủủ ttụục c -- HHààmm ththưườờngng ccóó gigiáá trtrịị trtrảả vvềề
2
3Windows Form programming with VB.Net 2005.
Private Function Max(ByVal a As Integer, ByVal _ b As Integer) As Integer
If a > b ThenReturn a
ElseReturn b
End IfEnd Function
Dim C as IntegerDim C as IntegerC = Max(a,b)C = Max(a,b)
VD: HVD: Hààmm
4Windows Form programming with VB.Net 2005.
ThThủủ ttụục (Procedure)c (Procedure)
[Public, Protected, Private] Sub[Public, Protected, Private] Sub <Tên Th<Tên Thủủ ttụục> _c> _[(Danh s[(Danh sáách cch cáác tham sc tham sốố)] [)] [Handles Handles eventlisteventlist]]
[Khai b[Khai bááo bio biếến thun thuộộc tc tầầm vm vựực cc củủa tha thủủ ttụục]c][C[Cáác câu lc câu lệệnh nh ……]][Exit Sub][Exit Sub]
End SubEnd Sub
-- ChChứức năng cc năng củủa tha thủủ ttụục gic giốống như Hng như Hààm, m, nhưng nhưng ThThủủ ttụục c khôngkhông ccóó gigiáá trtrịị trtrảả vvềề
3
5Windows Form programming with VB.Net 2005.
Private Sub bntAn_Click(.. , ..) Handles bntAn.ClickAnGioiTinh()
End Sub
6Windows Form programming with VB.Net 2005.
Private Sub AnGioiTinh()Dim rdb As RadioButtonFor Each Ctrl As Control In GroupBox1.Controls
On Error Resume Next ' Có lỗi bỏ quardb = CType(Ctrl , RadioButton) ' chuyển kiểurdb.Visible = False
NextGroupBox1.Text = "Sở thích:“
End Sub
VD: ThVD: Thủủ ttụụcc
4
7Windows Form programming with VB.Net 2005.
Public Public FunctionFunction GetCommand() GetCommand() AsAs OleDbCommandOleDbCommandDimDim cncn As New As New OleDbConnectionOleDbConnectionDim Dim cmdcmd As New As New OleDbCommandOleDbCommandDim Dim strConnectionstrConnection As String = As String =
"Provider=Microsoft.Jet.OLEDB.4.0;Data "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Source=D:\\QLNhanSu.mdb"QLNhanSu.mdb"cn.ConnectionStringcn.ConnectionString = = strConnectionstrConnectioncn.Open()cn.Open()cmd.CommandType = CommandType.StoredProcedurecmd.CommandType = CommandType.StoredProcedurecmd.CommandText = cmd.CommandText = ““sp_NhanViensp_NhanVien””cmd.Connection = cncmd.Connection = cn
returnreturn cmdcmdEnd FunctionEnd Function
VD: HVD: Hààm trm trảả vvềề 1 1 đđốối tưi tượợng Commandng Command
8Windows Form programming with VB.Net 2005.
VD: DataAdapter & Fill cho DataTableVD: DataAdapter & Fill cho DataTable
ppublic ublic ffunction unction GGetetDDataataTTableable() () aass DDataataTTableableDim Dim dada As New As New OleDbDataAdapter()OleDbDataAdapter()Dim Dim tbtb As New As New DataTableDataTable()()TrTry y ‘‘ Cmd đ Cmd đốối tưi tượợng đã đưng đã đượợc khai bc khai bááo & kho & khởởi ti tạạoo
da.da.SelectCommandSelectCommand = = CCmdmd ‘‘ = GetCommand() = GetCommand() da.Fill(tb)da.Fill(tb)Return Return tbtb
Catch Catch exex As As ExceptionExceptionMsgBox(ex.Message)MsgBox(ex.Message)Return NothingReturn Nothing
End TryEnd TryEnd FunctionEnd Function
5
9Windows Form programming with VB.Net 2005.
VD: DataAdapter & Fill cho DataSetVD: DataAdapter & Fill cho DataSet
PPublic Function ublic Function GetDataGetDataSetSet() () aass DDataataSetSetDim Dim dada As New As New OleDbDataAdapter()OleDbDataAdapter()Dim Dim dsds As New As New DataDataSet()Set()TryTry ‘‘ Cmd đ Cmd đốối tưi tượợng đã đưng đã đượợc khai bc khai bááo & kho & khởởi ti tạạoo
da.da.SelectCommandSelectCommand = = CCmdmd ‘‘ = GetCommand() = GetCommand() da.Fill(da.Fill(dsds)) ‘‘da.Fill(da.Fill(ds, ds, ““TableNameTableName””))Return Return dsds
Catch Catch exex As As ExceptionExceptionMsgBox(ex.Message)MsgBox(ex.Message)Return NothingReturn Nothing
End TryEnd TryEnd FunctionEnd Function
10Windows Form programming with VB.Net 2005.
Public Function GetDataReader(ByVal StoreProceureName As String, Optional ByVal arrParams() As String = Nothing, Optional ByVal arrValues() As Object = Nothing) AsOleDbDataReader
Dim rd As OleDbDataReaderDim Dim cmdcmd As New As New OleDbCommandOleDbCommandcmd = me.GetCommand()cmd = me.GetCommand()
If Not (arrParams Is Nothing) ThenFor nIndex As Integer = 0 To (arrParams.Length - 1)
cmd.Parameters.AddWithValue(arrParams(nIndex), arrValues(nIndex))
NextEnd If rd = cmd.ExecuteReader()Return rd ‘cmd.ExecuteReader()
End Function
6
11Windows Form programming with VB.Net 2005.
LLậập trp trìình hưnh hướớng đng đốối tưi tượợng lng làà ggìì??Trong thTrong thếế gigiớới thi thựực,c, đ đốối tưi tượợng lng làà ththựực thc thểể ttồồn tn tạại như i như con ngưcon ngườời, xe, mi, xe, mááy ty tíính, v.vnh, v.v……Trong ngôn ngTrong ngôn ngữữ llậập trp trìình,nh, đ đốối tưi tượợng cng cóó ththểể llàà mmààn hn hìình, nh, mouse, cmouse, cáác control v.vc control v.v……LLậập trp trìình hưnh hướớng đng đốối tưi tượợng lng làà kikiểểu lu lậập trp trìình nhnh nhằằm vm vàào o ssựự tương t tương táác gic giữữa ca cáác đc đốối tưi tượợngngMMộột đt đốối tưi tượợng cng cóó ccáác đc đặặc đic điểểm sau:m sau:
-- NhNhữững thung thuộộc tc tíính:nh: xxáác đc địịnh cnh cáác đc đặặc đic điểểm cm củủa đa đốối tưi tượợngng-- NhNhữững phương thng phương thứức:c:xx//đđịịnh cnh cáác chc chứức năng cc năng củủa đa đốối tưi tượợngng-- CCáác sc sựự kikiệệnn phpháát sinh khi thay đt sinh khi thay đổổi thui thuộộc tc tíính, thnh, thựực hic hiệện n
mmộột phương tht phương thứức hay bc hay bịị đ đốối tưi tượợng khng kháác tc táác đc độộng vng vààoo
LLậập trp trìình hưnh hướớng đng đốối tưi tượợngng
12Windows Form programming with VB.Net 2005.
Abstraction:Abstraction: TTíính trnh trừừu tưu tượợngng
Encapsulation:Encapsulation: TTíính bao bnh bao bọọc c ((đđóóng gng góói)i)
Inheritance:Inheritance: TTíính knh kếế ththừừaa
Polymorphism:Polymorphism: TTíính đa hnh đa hììnhnh
ĐĐặặc đic điểểm trong Lm trong Lậập trp trìình hưnh hướớng đng đốối tưi tượợng:ng:
7
13Windows Form programming with VB.Net 2005.
Trong thế giới thực tồn tại các đối tượng có cùng các thuộc tính cần quản lý như: Nhân viên, sinh viên, hàng hóa… MaSV HoTen NgaySinhVí dụ: A001 Lê Văn A 1/1/1979
A002 TrầnVăn B 1/6/1979Từ những đối tượng có các thuộc tính giống nhau, ta trừu tượng hóa thành một lớp đối tượngVí dụ: từ hai đối tượng trên ta trừu tượng hóa thành lớp (class) SinhVien có các thuộc tính:
. MaSV
. HoTen
. NgaySinh
Abstraction:Abstraction: TTíính trnh trừừu tưu tượợngng
14Windows Form programming with VB.Net 2005.
CCóó ththểể ggọọi ci cáác phương thc phương thứức cc củủa ca cáác đc đốối i tưtượợng đng đểể ththựực hic hiệện mn màà không quan tâm bên không quan tâm bên trong ctrong cáác phương thc phương thứức nc nàày cy cóó ccáác lc lệệnh xnh xửửlý nlý nààoo
ChChỉỉ quan tâm đ quan tâm đếến dn dữữ liliệệu đu đầầu vu vàào vo vàà kkếết t ququảả trtrảả vvềề ccủủa phương tha phương thứứcc
Khi ta chKhi ta chỉỉnh snh sửửa la lạại ci cáác xc xửử lý trong lý trong phương thphương thứức mc màà không chkhông chỉỉnh snh sửửa da dữữ liliệệu u vvàào vo vàà kkếết qut quảả trtrảả vvềề ththìì không ckhông cầần chn chỉỉnh nh ssửửa a ởở nơi g nơi gọọii
Encapsulation:Encapsulation: TTíính bao bnh bao bọọcc
8
15Windows Form programming with VB.Net 2005.
LLàà khkhảả năng cho ph năng cho phéép ta xây dp ta xây dựựng mng mộột lt lớớp p mmớới di dựựa trên ca trên cáác đc địịnh nghnh nghĩĩa ca củủa ma mộột lt lớớp đã cp đã cóó
LLớớp đã cp đã cóó ggọọi li làà llớớp Cha, lp Cha, lớớp mp mớới phi pháát sinh t sinh ggọọi li làà llớớp Conp Con
LLớớp con kp con kếế ththừừa ta tấất ct cảả ccáác thc thàành phnh phầần cn củủa la lớớp p Cha, cCha, cóó ththểể mmởở rrộộng chng chứức năng cc năng cáác thc thàành nh phphầần kn kếế ththừừa ca cũũng như bng như bổổ sung thêm csung thêm cáác c ththàành phnh phầần mn mớới.i.
Inheritance:Inheritance: TTíính knh kếế ththừừaa
16Windows Form programming with VB.Net 2005.
KKếết nt nốối tri trễễ::Ta cTa cóó ththểể gigiáán gin giáá trtrịị mmộột đt đốối tưi tượợng cng củủa la lớớp cha p cha bbằằng mng mộột đt đốối tưi tượợng thung thuộộc lc lớớp conp conKhi gKhi gọọi mi mộột phương tht phương thứức cc củủa đa đốối tưi tượợng thung thuộộc lc lớớp p cha, tcha, tùùy thy thờời đii điểểm gm gọọi,i, đ đốối tưi tượợng nng nàày đưy đượợc gc gáán ln làà đđốối tưi tượợng thung thuộộc lc lớớp con np con nàào tho thìì phương th phương thứức cc củủa a llớớp con đp con đóó đư đượợc gc gọọi.i.
NNạạp chp chồồngng:: LLàà khkhảả năng m năng mộột lt lớớp cp cóó nhinhiềều phương u phương ththứức cc cùùng tên nhưng khng tên nhưng kháác cc cáác tham sc tham sốố vvềề ssốố lư lượợng, ng, kikiểểu du dữữ liliệệuuGhi đGhi đèè:: llàà khkhảả năng l năng lớớp con đp con địịnh nghnh nghĩĩa la lạại ci cáác c phương thphương thứức cc củủa la lớớp chap cha
Polymorphism:Polymorphism: TTíính đa hnh đa hìình nh (3 h(3 hìình thnh thứức)c)
9
17Windows Form programming with VB.Net 2005.
TTạạo mo mớới mi mộột lt lớớp: menu Project p: menu Project --> Add Class > Add Class --> > NhNhậập tên lp tên lớớp (Hop (Hoặặc chuc chuộột pht phảải tên Project i tên Project …….).)
Public ClassPublic Class <tên Class><tên Class>……....End ClassEnd Class
Ta cTa cóó ththểể ttựự đ địịnh nghnh nghĩĩa ma mộột lt lớớp vp vớới ci cúú phphááp:p:<T<Từừ khkhóóa ca củủa la lớớp>p> ClassClass <Tên l<Tên lớớp>p>
<C<Cáác khai bc khai bááo>o>End ClassEnd Class
LLậập trp trìình hưnh hướớng đng đốối tưi tượợng trong VB.NETng trong VB.NET
18Windows Form programming with VB.Net 2005.
[c[cáác Namspace cc Namspace củủa VB hay ca VB hay củủa ngưa ngườời si sửử ddụụng ]ng ]
[[Namespace { Namespace { name | name.namename | name.name } } ]]
Public ClassPublic Class <tên Class><tên Class>
[[ InheritsInherits <tên Class <tên Class chacha> > ]]
[[ Khai bKhai bááo co cáác bic biếến hay thun hay thuộộc tc tíínhnh ]]
[[ CCáác phương thc phương thứức (hc (hààm hay thm hay thủủ ttụục) c) ]]
End ClassEnd Class
[[End NamespaceEnd Namespace]]
CCấấu tru trúúc cc củủa ma mộột Classt Class
10
19Windows Form programming with VB.Net 2005.
Imports SystemImports SystemImports System.DataImports System.DataImports System.Data.SqlClientImports System.Data.SqlClientImports Microsoft.VisualBasicImports Microsoft.VisualBasicNamespace Namespace CSLD.KetNoiCSLD.KetNoi
Public Class Public Class DataLayersDataLayersPrivate Private ConCon As SqlConnectionAs SqlConnectionPrivate Private CmdCmd As New SqlCommandAs New SqlCommandPrivate Private strConnectstrConnect As StringAs StringPublic Sub New()Public Sub New()
strConnect = strConnect = "Data Source=(local);Initial Catalog=Menu;"Data Source=(local);Initial Catalog=Menu;Persist SecurityPersist Security Info=True;User ID=sa;Password=sa"Info=True;User ID=sa;Password=sa"
End SubEnd Sub ‘‘ kkếết ht húúc phương thc phương thứức newc newPublic Function Public Function GetConnection()GetConnection() As As SqlConnectionSqlConnection
Dim Dim objConobjCon As As SqlConnectionSqlConnectionobjConobjCon = New = New SqlConnection(strConnect)SqlConnection(strConnect)Return Return objConobjCon
End FunctionEnd Function ‘‘ kkếết ht húúc phương thc phương thứức lc lấấy ky kếết nt nốốiiEnd ClassEnd Class ‘‘ KKếết tht thúúc class c class DataLayersDataLayers
End NamespaceEnd Namespace ‘‘ KKếết tht thúúc name space cc name space củủa class a class DataLayersDataLayers
VVíí ddụụ class CSDL:class CSDL:
20Windows Form programming with VB.Net 2005.
.NetFrameWork cung cấp hơn 5000 đối tượng, để dễdàng quan lý và sử dụng, các đối tượng này được đưa vào các nhóm tùy theo loại, các nhóm này có một tên gọi làNamespase
Để sử dụng các đối tượng thuộc namespase nào ta phải tham chiếu đến bằng lệnh:Imports Namespace
Ví dụ: Imports System.Data.OleDbChú ý• Mỗi lệnh Imports chỉ được sử dụng với một không
gian tên.• Mỗi Module có thể có nhiều dòng Imports
Các lệnh Imports phải được đặt trước tất cả các khai báo, kể cả lệnh khai báo Module hoặc Class
Imports không gian tên (Namespace) : Imports không gian tên (Namespace) :
11
21Windows Form programming with VB.Net 2005.
Public:Public: CCáác thc thựực thc thểể khai bkhai bááo vo vớới ti từừ khkhóóa na nààycycóóththểể ssửử ddụụng ng ởở mmọọi nơii nơi..
Private:Private: Cho biCho biếết tht thựực thc thểể khai bkhai bááo cho chỉỉ đư đượợc sc sửửddụụng trong phng trong phạạm vi khai bm vi khai bááo.o.
Protected:Protected: Cho biCho biếết tht thựực thc thểể khai bkhai bááo cho chỉỉ đư đượợc sc sửửddụụng trong phng trong phạạmvi Class vmvi Class vàà Sub Class Sub Class (l(lớớp vp vàà llớớp con).p con).
Friend:Friend: Cho biCho biếết tht thựực thc thểể khai bkhai bááochochỉỉ đư đượợcscsửửddụụng ng trong phtrong phạạm vi Project. Nm vi Project. Nếếu không u không ccóó ttừừ khkhóóa, Class ma, Class mặặcn hiên lcn hiên làà khai bkhai bááo o Friend.Friend.
TTừừ khkhóóa ca củủa la lớớp:p:
22Windows Form programming with VB.Net 2005.
Public ClassPublic Class <tên Class <tên Class concon>>InheritsInherits <tên Class <tên Class chacha>>'' Khai bKhai bááo co cáác phương thc phương thứức cho lc cho lớớp đp đốối tưi tượợngng
[[<t<từừ khkhóóa>a>] ] SubSub <tên th<tên thủủ ttụục> ([<cc> ([<cáác tham sc tham sốố>])>])……
End SubEnd Sub'' HoHoặặcc[[<t<từừ khkhóóa>a>]] FunctionFunction <tên h<tên hààm> ([<cm> ([<cáác tham sc tham sốố>]) _ >]) _ asas <Ki<Kiểểu tru trảả vvềề>>
……ReturnReturn <gi<giáá trtrịị>>
End FunctionEnd FunctionEnd ClassEnd Class
Khai bKhai bááo mo mộột lt lớớp con kp con kếế ththừừa ta từừ llớớp cha :p cha :
12
23Windows Form programming with VB.Net 2005.
Public:Public: Phương th Phương thứức đưc đượợc gc gọọi i ởở mmọọi nơii nơi..Private: Private: P.thP.thứức chc chỉỉ đư đượợc gc gọọi trong phi trong phạạm vi cm vi củủa Class.a Class.Protected:Protected: P. thP. thứức chc chỉỉ đư đượợc gc gọọi trong phi trong phạạm vi cm vi củủa a
Class đClass đóó vvàà ccáác class con (Subclass)c class con (Subclass)Friend:Friend: P. thP. thứức chc chỉỉ đư đượợc gc gọọi trong phi trong phạạm vi cm vi củủa Project.a Project.Overloads:Overloads: chchỉỉ khai bkhai bááo cho phương tho cho phương thứức thuc thuộộc lc lớớp p
con, Cho bicon, Cho biếết P. tht P. thứức Nc Nạạp chp chồồng mng mộột hay nhit hay nhiềều P. u P. ththứức cc cóó ccùùng tên vng tên vớới phương thi phương thứức trong lc trong lớớp chap cha
Overrides:Overrides: Cho biCho biếết P. tht P. thứức ghi đc ghi đèè mmộột phương tht phương thứức c ccùùng tên cng tên củủa la lớớp cha. Sp cha. Sốố lư lượợng tham sng tham sốố, ki, kiểểu du dữữ liliệệu u ccủủa tham sa tham sốố ccũũng như king như kiểểu giu giáá trtrịị trtrảả vvềề phphảải khi khớớp p vvớới ci củủa la lớớp cha.p cha.
TTừừ khkhóóa ca củủa phương tha phương thứức:c:
24Windows Form programming with VB.Net 2005.
LLàà ththủủ ttụục đưc đượợc khai bc khai bááo vo vớới ti từừ khkhóóa Public va Public vàà luôn luôn ccóó tên Newtên New
ccúú phphááp:p:Public Sub NewPublic Sub New [(C[(Cáác tham sc tham sốố)] )]
<c<cáác xc xửử lý> lý> End SubEnd Sub
Trong mTrong mộột lt lớớp ta cp ta cóó ththểể ccóó nhinhiềều phương thu phương thứức khc khởởi i ttạạo vo vớới ci cáác tham sc tham sốố khkháác nhauc nhauKhai bKhai bááo thuo thuộộc tc tíính:nh:ThuThuộộc tc tíính lnh làà ththàành phnh phầần lưu gin lưu giữữ ccáác tc tíính chnh chấất,t, đ đặặc c điđiểểm cm củủa đa đốối tưi tượợng.ng.ỨỨng vng vớới mi mỗỗi thui thuộộc tc tíính, chnh, chúúng ta cng ta cầần khai bn khai bááo mo mộột t bibiếến Private tương n Private tương ứứng đng đểể lưu gi lưu giữữ gigiáá trtrịị..
Phương thPhương thứức khc khởởi ti tạạo (o (ConstractorConstractor):):
13
25Windows Form programming with VB.Net 2005.
Public Class CPhanSo Public Class CPhanSo ' c' cáác thuc thuộộc tc tíínhnhPrivate Private TuTu As Integer As Integer Private Private MauMau As Integer As Integer
' P' Phương thhương thứức thic thiếết lt lậập mp mặặc đc địịnhnhPublic Sub Public Sub New()New()
Tu = 0 Tu = 0 Mau = 1Mau = 1
End Sub End Sub
' P' Phương thhương thứức thic thiếết lt lậập khi bip khi biếết tt tửử vvàà mmẫẫuuPublic Sub Public Sub NewNew(ByVal (ByVal t t As Integer, ByVal As Integer, ByVal mm As Integer) As Integer)
Tu = t Tu = t Mau = mMau = m
End Sub End Sub End Class End Class
26Windows Form programming with VB.Net 2005.
' Khai b' Khai bááo bio biếến lưu gin lưu giữữ gigiáá trtrịị ccủủa thua thuộộc tc tíínhnhPrivatePrivate mthuoctinhmthuoctinh AsAs <Ki<Kiểểududữữ liliệệu>u>
PropertyProperty Thuoctinh() Thuoctinh() AsAs <Ki<Kiểểududữữ liliệệu>u>' Truy xu' Truy xuấất git giáá trtrịị ccủủa thua thuộộc tc tíính tnh tứức truy c truy xuxuấất đt đếến n gigiáá trtrịị ccủủa bia biếếnnGetGet
ReturnReturn mthuoctinh mthuoctinh End GetEnd Get' G' Gáán trn trịị cho thucho thuộộc tc tíính tnh tứức gc gáán trn trịị cho bicho biếếnnSetSet ((ByValByVal Value Value AsAs <Ki<Kiểểududữữ liliệệu>) u>)
mthuoctinh = Value mthuoctinh = Value End SetEnd Set
End PropertyEnd Property
Truy cTruy cậập thup thuộộc tc tíính ta dnh ta dùùng cng cấấu tru trúúc c Get Get -- SetSet::
14
27Windows Form programming with VB.Net 2005.
Public Class CHocSinh Public Class CHocSinh Private Private intMaSointMaSo As Integer As Integer Private Private strHoTenstrHoTen As String As String Private Private bGioiTinhbGioiTinh As BooleanAs Boolean
Property Property MaSo()MaSo() As Integer As Integer Get Get
Return Return intMaSointMaSoEnd Get End Get
Set(ByVal Set(ByVal MaSVMaSV As Integer) As Integer) intMaSo = intMaSo = MaSVMaSV
End Set End Set End Property End Property
Vd: khai bVd: khai bááo thuo thuộộc tc tíínhnh
28Windows Form programming with VB.Net 2005.
Property Property HoTen()HoTen() As Integer As Integer Get Get
Return Return strHoTenstrHoTenEnd Get End Get
Set(ByVal Set(ByVal sHoTensHoTen As Integer) As Integer) strHoTenstrHoTen = sHoTen= sHoTen
End Set End Set End Property End Property
15
29Windows Form programming with VB.Net 2005.
Property Property GioiTinh()GioiTinh() As Integer As Integer Get Get
Return Return bGioiTinhbGioiTinhEnd Get End Get
Set(ByVal Set(ByVal PhaiPhai As Boolaen) As Boolaen) bGioiTinhbGioiTinh = = PhaiPhai
End Set End Set End Property End Property
End ClassEnd Class ' K' Kếết tht thúúc class CHocSinh c class CHocSinh
30Windows Form programming with VB.Net 2005.
Me: được dùng khi chúng ta chỉ rõ muốn dùng các thành phần của chính thể hiện Class nơi viết lệnh.
Ví dụ: Public Class Con_nguoi
Private ten as String Public Sub Lam_viec()
Dim ten as String ' biến cụcbộ của Sub được sử dụng ten = "Hùng" ' biến cấp Class được dùng Me.ten = "Hùng "
End Sub End Class
TTừừ khkhóóaa MeMe
16
31Windows Form programming with VB.Net 2005.
Mybase: Mybase: đưđượợc dc dùùng trong Class kng trong Class kếế ththừừa, khi mua, khi muốốn dn dùùng cng cáác c phương thphương thứức cc củủa Class Cha a Class Cha (class (class cơ scơ sởở)); ; VDVD::
Public Class Public Class XeXePublic sub Chay()Public sub Chay()
<C<Cáác lc lệệnh>nh>End SubEnd Sub
End class End class ' hết Class Xe
Public Class Public Class Xe_HoiXe_HoiInherits Inherits XeXePublic sub Chay()Public sub Chay()
<C<Cáác lc lệệnh chnh chạạy cy củủa Xe hơia Xe hơi>>MyBase.Chay() MyBase.Chay() ' chạy của class XeXe
End SubEnd SubEnd Class End Class ' hết Class Xe_Hoi
TTừừ khkhóóaa MybaseMybase
32Windows Form programming with VB.Net 2005.
MyClass: MyClass: đưđượợc dc dùùng đng đểể ggọọi ci cáác thc thểể hihiệện hay phương thn hay phương thứức c ccủủa Class hia Class hiệện hn hàànhnh; ; VDVD::
Class Class TaiKhoanTaiKhoanSub New()Sub New()
MyClass.MyClass.RutTienRutTien(100)(100)End SubEnd Sub
Overridable Sub Overridable Sub RutTienRutTien(ByVal (ByVal amountamount As Integer)As Integer)[C[Cáác xc xửử lý rlý rúút tit tiềền]n]
End SubEnd Sub
End ClassEnd Class
TTừừ khkhóóaa MyClassMyClass
17
33Windows Form programming with VB.Net 2005.
Try[ tryStatements ][ Exit Try ]
[ Catch [ exception [ As type ] ] [ When expression ][ catchStatements ][ Exit Try ] ]
[ Catch ... ][ Finally
[ finallyStatements ] ]End Try
BBắắt lt lỗỗi trong li trong lậập trp trìình:nh:
34Windows Form programming with VB.Net 2005.
Try[Các câu lệnh cần bắt lỗi]
Catch ex As [ Exception | ApplicationException ][Các thông báo lỗi ]
End Try
Public Function GetConnection() As SqlConnectionTry
Dim objCon As New SqlConnection(strConnect)Return objCon
Catch ex As Exception MsgBox(ex.Message)
End TryEnd Function
BBắắt lt lỗỗi đơn gii đơn giảản:n:
18
35Windows Form programming with VB.Net 2005.
1. On Error Resume NextKhi có lỗi bỏ CT qua dòng lỗi và sang dòng mới
2. On Error GoTo LabelNameKhi có lỗi chương trình sẽ bỏ qua tất cả các dòng sau dòng lệnh trên và nhảy tới nhãn (LabelName:) đã được chỉ định sau đó. VD:
Public Function PhanSo(ByVal tu As Integer, ByVal mau As Integer) As Double
On Error GoTo LoiReturn a / b
Loi:MsgBox(Err.Description)
End Function
BBắắt lt lỗỗi bi bằằng ng On ErrorOn Error: (c: (cóó 2 c2 cáách)ch)
36Windows Form programming with VB.Net 2005.
-- HHầầu hu hếết ct cáác control trong VB.c control trong VB.Net đNet đềều cu cóó ccáác thuc thuộộc c ttíính (nh (PropertiesProperties) d) dùùng cho ving cho việệc thic thiếết kt kếết giao dit giao diệện, n, nhưng chnhưng chúúng ta cng ta cóó ththểể ththựực hic hiệện chn chúúng trong lng trong lúúc c chchạạy chương try chương trìình (vinh (viếết code thay vt code thay vìì design). design).
-- ChChúúng ta phng ta phảải ni nắắm bm bắắt đt đặặc đic điểểm, chm, chứức năng cc năng củủa a ttừừng thung thuộộc tc tíính (nh (PropertiesProperties) c) củủa ma mộột control ct control cụụ ththểể nhưnhư: ComboBox, TextBox, Button, ListBox, : ComboBox, TextBox, Button, ListBox, MenuStrip, ToolStripMenuStrip, ToolStrip……..
-- Tương tTương tựự mmỗỗi mi mộột Control đt Control đềều cu cóó ccáác sc sựự kikiệện n ((EventEvent) chung v) chung vàà riêng biriêng biệệt theo tt theo từừng control cng control củủa na nóó
((ĐĐềề nghnghịị xem lxem lạại lý thuyi lý thuyếết tt từừ bbàài gii giảảng bung buổổi 2, 3, vi 2, 3, vàà 4 v4 vààxem cxem cáác thuc thuộộc tc tíính chung vnh chung vàà riêng criêng củủa ta từừng control)ng control)
LLậập trp trìình thunh thuộộc tc tíính (Property) vnh (Property) vàà ttựự kikiệện (Eevnt)n (Eevnt)
19
37Windows Form programming with VB.Net 2005.
CCáách thch thứức bc bắắt St Sựự kikiệện: n: (t(tạại giao dii giao diệện code)n code)
ChChứứa ca cáác đc đốối tưi tượợng ng ccầần vin viếết st sựự kikiệệnn
ChChứứa ca cáác sc sựự kikiệện n ccầần vin viếết codet code
ChChọọn đn đốối tưi tượợng trưng trướớc, c, sau đsau đóó chchọọn sn sựự kikiệện. n. ((ĐĐốối tưi tượợng ng ởở đây thưđây thườờng lng làà ccáác Name cc Name củủa ca cáác Control)c Control)
38Windows Form programming with VB.Net 2005.
CCáách thch thứức lc lậập trp trìình Snh Sựự kikiệện:n:
Sau khi bSau khi bắắt st sựự kikiệện cn củủa ca cáác control thưc control thườờng xung xuấất hit hiệện n ccáác tham sc tham sốố mmặặc đc địịnh lnh làà SenderSender vvàà ee vvàà HanhleHanhle
Private Sub TênĐiềuKhiển_SựKiện(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TênĐiềuKhiển.SựKiện<Các lệnh xữ lý>
End SubSender: Sender: llàà tham stham sốố truytruyềền chn chíính đnh đốối tưi tượợng cng củủa a control mcontrol màà ta cta cầần xn xửử lý vlý vàào trong pho trong phầần vin viếết codet codee: e: llàà tham stham sốố truytruyềền chn chíính đnh đốối si sựự kikiệện n (event )(event ) ccủủa a control mcontrol màà ta cta cầần vin viếết vt vààooTheo sau tTheo sau từừ Hanhle Hanhle llàà chchíính snh sựự kikiệện n (event)(event) ccầần xn xửử lýlý