19
1 1 Windows Form programming with VB.Net 2005. Bu Bui 5: K i 5: Kthu thut l t lp tr p trì nh trong VB.NET nh trong VB.NET Hàm (Function) - Thtc (Procedure) Khái nim lp trình hướng đối tượng (OOP: Object Orientation Programming) Lp trình theo skin (Event) và lp trình Thuc tính (Property) 2 Windows Form programming with VB.Net 2005. 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 thuc tm vc ca hàm] [Các câu lnh …] [Exit Fucntion] Return <ReturnType> End Fucntion -Mt H t Hàm dãy c dãy cá c câu l c câu lnh đ nh để th thc thi m c thi mt công t công vi vic, m c, mt ch t chc năng đ c năng đặ c th c thù nà o đ o đó -Hàm đư được g c gi đ i để thi h thi hà nh th nh th ông ông qua tên th qua tên thtc c -Hàm th thườ ng ng có gi giá tr trtr trv

VB.Net2005B5

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ý