45
ÑOÁI TÖÔÏNG ÑIEÀU KHIEÅN CÔ BAÛN Lôùp VB1 – TÑN Gv: TVQ

Doi Tuong Dieu Khien Co Ban

Embed Size (px)

DESCRIPTION

Doi Tuong Dieu Khien Co Ban

Citation preview

  • OI TNG IEU KHIEN C BAN

    Lp VB1 TNGv: TVQ

  • Mot so net chung.Cac oi tng ieu khien hay con goi la cac control, c s dung e thiet ke

    cac man hnh giao tiep cua mot ng dung trong VB. Cac control nay c chia thanh 2 nhom, bao gom:

    Cac control c s : La nhng control ma chung ta thng thay nh nut lenh, nhan Cac control nay

    c xay dng san trong chng trnh Visual Basic, va se luon xuat hien trong hop cong cu ToolBox.

    ActiveX control :La nhng cong cu khong c cai at san trong chung trnh VB. Cac control

    nay c lu di dang cac tap tin ri co phan m rong la * .OCX (trong nhng phien ban cu la *.VBX) Cac ActiveX control khong xuat hien san trong hop cong cu Toolbox, e s dung ActiveX control nao ngi lap trnh phai them control nay vao ng dung.

  • A. S dung cac control Trong qua trnh thiet ke cac man hnh giao tiep cua mot ng

    dung, e s dung control c s nao chung ta se thc hien tuan t cac bc sau :

    Trong hop cong cu (Toolbox), chon bieu tng cua control can them.

    Tren form, tai ni can them control, nhap va keo con trochuot e tao control nay.

    at thuoc tnh ban au cho control va tao. Ben canh nhng thuoc tnh rieng biet lien quan en tng

    control mot, hau het cac control eu co mot so cac thuoc tnh giong nhau nh : thuoc tnh nh dang, ten,

  • Icon, ten cong dung cac control c s.

  • Icon, ten cong dung cac control c s

  • Thuoc tnh chung cac control

  • Thuoc tnh ten (Name)ay la thuoc tnh dung e phan biet cac control co trong

    mot man hnh giao tiep vi nhau. Mac nhien khi va c tao ra cac control se co ten mac nhien la chuoi kt gom hai control va mot so (v du label1, ). e de xly trong qua trnh cai at ung dung, chung ta thng cai at lai ten cua cac control. Cung giong nh ten bien, ten cac control thng la mot chuoi k t lien tuc co tien to(cac k t au) ch ra loai control.

    V du nhan (label) thng co ten bat au la lbl, va hop van ban (textbox) th thng txt,

    Khi can truy xuat en oi tng nao chung ta se x dung thuoc tnh Name cua control nay. V du, e xuat noi dung van ban cua mot textbox co ten la txtVanban chung ta se dung txtVanban.Text

  • Thuoc tnh nh dang (Format)

    ay la nhng thuoc tnh xac nh hnh thc hien th cua cac control. Hau het cac control eu co thuoc tnh nh dang chung

  • Thuoc tnh nh dang (Format)

  • Thuoc tnh gia tr (Value)Hau het cac control eu co mot thuoc tnh cho phep chung ta truy xuat

    en noi dung ang co cua nhng control nay. Thuoc tnh nay con goi la thuoc tnh gia tr va co vai tro rat quan trong trong nhng thuoc tnh control.

    Khi lam viec vi mot control, ngoai viec ch ra ten control can lam viec la g, ngi lap trnh thng hay thao tac tren cac gia tr cua control nay. Noi cach khac, thuoc tnh cua cac control nay la thuoc tnh thng c dung nhat so vi cac thuoc tnh khac.

    Vi ly do nay, VB qui nh thuoc tnh gia tr cua thuoc tnh mac nhien cua mot control. Co ngha la chung ta co the dung ten cua control e truy xuat en thuoc tnh gia tr ma khong phai ch ra ten thuoc tnh gia tr. V du e gan gia tr rong vao mot textbox co ten txtVanban, chung ta co the dung

    TxtVanban = (thay v txtVanban. Text= )

  • Thuoc tnh gia tr mac nhien

  • Text Box Hop van ban la oi tng ieu khien (control) c dung e tao cac o

    nhap hay hien th d lieu tren man hnh giao tiep. Ngoai nhng thuoc tnh chung a c trnh bay tren ay, Textbox co nhng thuoc tnh va bien co can quan tam sau:

    Thuoc tnh Multiline Thuoc tnh Alignment Thuoc tnh Locked Thuoc tnh SelText Thuoc tnh SelLength Thuoc tnh SelStart Thuoc tnh PasswordChar Bien co KeyPress, KeyUp, KeyDown Bien co Change Bien co Validation

  • Thuoc tnh MultilineVB cho phep noi dung cha trong mot TextBox co

    kch thc la 64Kb k t. Khi va c tao ra cac TextBox se co gia tr thuoc tnh MultiLine laFalse. ieu nay co ngha la noi dung van ban cotrong TextBox ch luon trai dai tren mot dong.

    Khi gia tr thuoc tnh MultiLine cua mot TextBox c cai at la True, th VB se t ong xuong dong cho phan noi dung ben trong TextBox.

  • Thuoc tnh AlignmentNh a gii thieu tren trong phan thuoc tnh

    chung cua cac loai control, thuoc tnh Alignment cua TextBox c s dung e canh trai, phai hay gia phan noi dung van ban trong TextBox.

    Mac nhien gia tr cua thuoc tnh Alignment la 0 (Left Justify). Chung ta co the thay oi gia trnay lai la 1 (Right Justify) hay 2 (Center Justify).

  • Thuoc tnh Locked

    Trong thiet ke man hnh giao tiep khi muon ngi s dung khong the nhap hay thay oi d lieu co trong mot TextBox, chung ta co the at thuoc tnh Locked cua Textbox la True.

    Thuoc tnh locked nay dung e qui nh mot Textbox chhien th d lieu (read-only) ch khong the nhap hay thay oi gia tr c. Khac vi thuoc tnh Enabled cung lam mot TextBox khong thay oi gia tr c na, thuoc tnh Locked khong lam m Textbox. Ngoai ra Textbox co thuoc Locked la True van co the nhan ieu khien (Focus) va co the c thay oi gia tr bang lenh chng trnh.

  • X ly khoi van ban

  • X ly chon khoi van ban e chon khoi mot phan hay toan bo van ban hien co trong

    mot TextBox chung ta co the dung hai thuoc tnhSelStart va SelLength nh sau:

    at thuoc tnh SelStart bang v tr cua k t au khoi at thuoc tnh SelLength bang o dai cua khoi van ban

    can chonV du: hai dong lenh sau se chon khoi toan bo van ban co

    trong mot Textbox co ten TxtNoidung.txtNoidung.SelStart=0txtNoidung.SelLength=Len(txtNoidung)

  • X ly thay the khoi van bane thay the khoi van ban c chon co trong mot

    Textbox chung ta gan gia tr thuoc tnh SelText cua Textbox bang chuoi k t thay the nh sau.

    . SelText =

    V du dong lenh sau ay se xoa noi dung khoi van ban c chon bang cach gan phan van ban nay vao chuoi rong.

    TxtNoidung. SelText =

  • Textbox va Clipboarda noi dung chuoi ky t cat trong

    Clipboard Clipboard.SelText Lay noi dung van ban cua Clipboard ra va

    gan cho chuoi ky t = Clipboard.GetTextXoa noi dung ang co trong ClipboardClipboard.Clear

  • ieu khien d lieu nhap trong Textboxieu g se xay ra neu ngi s dung nhap nham so

    10 la 1O (ky so 1 va k t O). chac chan la ket qua tnh c se la mot cau thong bao loi hay mot gia tr khong nh y muon.

    e tranh cac loi sai nh vay trong chng trnh, chung ta co the kiem tra tham so ma phm k tva c nhan cua mot trong ba thu tuc x lybien co KeyPress, KeyUp va KeyDown e ieu khien qua trnh nhap lieu trong TextBox nay.

  • V du sau se minh hoa viec s dung tham so KeyAscii trong thu tuc x ly bien co cua KeyPress e qui nh ch cho phep nhap cac phm k so (0..9) trong Textbox ma thoi.

    VD: Trong bai tap ao so e tranh nhap ch ta co the gan bien co KeyPress tai o txtNhap nh sau, luc nay neu ta nhap ch se khong xuat hien.

    Private Sub txtSoNhap_KeyPress(KeyAscii As Integer)If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then

    KeyAscii = 0End IfEnd Sub

  • Phan biet KeyPress, KeyUp va KeyDownThu tuc x ly bien co KeyPress ch phat sinh va tiep nhan cac

    phm k t. Chnh v vay khi can x ly cac phm ieu khien c nhan trong Textbox, chung ta can s dung cac thu tuc x ly bien co KeyUp hay KeyDown.

    Khac vi thu tuc x ly bien co KeyPress, hai thu tuc x ly bien co nay se nhan vao hai tham so la KeyCode va Shift. Tham so KeyCode se xac nh phm nao a c nhan va tham soShift se giup xac nhan c phm Shift, Ctrl hay Alt co c nhan cung hay khong. V du khi ngi dung nhan to hp phm {Ctrl+F1}, gia tr cua KeyCode se la 112 va gia tr cua Shift se la 2, trong khi o neu nhan phm F1 th gia tr cua tham so Shift se la 0.

  • Bien co ValidateKhi thuoc tnh CausesValidation cua TextBox co

    gia tr la True th bien co nay se xay ra trc khi TextBox mat ieu khien. Trong thu tuc x lybien co nay, neu chung ta at cho tham soCancel =True th VB se khong di chuyen ieu khien en control khac na ma ngng cho sa loi tai o ang ng. V vay thu tuc s ly bien coValidate thng c s dung e kiem tra cac rang buoc d lieu c nhap trong TextBox.

  • V du ve ValidatePrivate Sub txtcsA_Validate(Cancel As Boolean)If IsNumeric(txtcsA.text) = False Then

    MsgBox "Phai nhap so."txtcsA.Text = ""Cancel = True Ngung va cho sua loi

    End IfEnd Sub

  • Bien co ChangeBien co nay se phat sinh khi noi dung

    TextBox b thay oi nen thng c dung e kiem tra noi dung mot van ban cob thay oi hay khong trc khi ong van ban hay thoat ng dung.

  • Han che cua Textbox va giai quyetHan che : Mot so tnh huong cua Textbox:

    khong the x ly khoi chon VD: trong 1 textbox co 2 font ch, 2 canh

    chnh muon thc hien viec nay ta phai dung oi tng Rich Textbox (Add Components, MicroSoft Rich Textbox control 6.0.)

  • Nut chon va Hop chon Nut chon (con goi la Option button hay Radio

    button) va hop chon (con goi la Checkbox) lahai ieu khien thng c s dung e thiet kegiao dien cho phep ngi dung chon la cac giatr.

    iem khac nhau gia hai loai nay ieu khien nay la option button c dung e thiet ke giao dien chon ch mot trong cac gia tr. Cac x lylien quan en option button va check box thng la xac nh va oi trang thai cua cac ieu khien.

  • Xac nh trang thaiOption button:Co hai trang thai o la checked va unchecked. Gia tr cua thuoc tnh Value tng ng vi hai trang thai nay la True va

    False. Check Box : co ba gia tr trang thai la unchecked, checked va grayed. Thuoc tnh Value tng ng vi ba trang thai neu tren la ba hang so 0,

    1 va 2.Unchecked 0Checked 1Grayed 2Trang thai Grayed cua check box c dung e ch rang muc chon

    nay c ngi s dung chon mot phan ch khong chon tat ca. Trang thai nay hay thng c thay trong qua trnh cai at cua mot phan mem, vi mot muc chon co nhieu phan con vakhi chung ta khong chon het cac phan con cua muc th check box tng ng se co trang thai lam xam (Grayed)

  • Thay oi trang thai Vi x ly xac nh trang thai cua cac option button va check box neu

    tren, chung ta a co the biet c nhng g ma ngi s dung chon la tren man hnh giao tiep. Tuy nhien ngoai viec xac nh trang thai cua cac option buton va check box, trong chng trnh thong thng ngi lap trnh con phai thc hien viec at hay thay oi trang thai cho cac ieu khien nay.

    VD nh man hnh chng trnh x ly chuoi tren, co mot yeu cau la khi chng trnh va c chay th mac nh la canh trai. Nhng viec nay thc hien trong thu tuc x ly bien co Form_Load() chung ta cothe thay oi trang thai cua cac ieu khien bang cach gan thuoc tnh Value.

    Click vao phan cac oi tng, chon Form va click. Se xuat hien san Private Sub Form_Load() End Sub va ta ghi cac mac nh vao.

    Private Sub Form_Load()optTrai.Value = True

    End Sub

  • Nhom cac Option buttonTrong man hnh giao tiep Form, mac nhien khi mot

    option button c chon, VB se t ong at trang thai unchecked (khong chon) cac option buttons con lai tren man hnh giao tiep Form. C che t ong thay oi trang thai nh vay giup ngi lap trnh khong phai viet nhieu lenh x ly nhng oi khi lai tr nen khong thuan tien. V du vi VD tren ta muon co 2 mac nh la ch thng va canh trai can co hai tap hp option button tren man hnh giao tiep th vi c che t ong neu tren cua VB ch cho phep ngi dung chon mot option button ma thoi. etranh trng hp nay, chung ta can phai nhom cac option button thuoc cung mot tap hp gia tr chon la thanh mot nhom .

  • Cong dung FrameLam the nao e nhom cac option button lai vi nhau thanh mot

    nhom? Dung Frame. Thc hien nh sau: a 1 frame vao form. Tao ra cac option button tren vung frame nay.Cac option button co trong mot frame nh vay c xem nh la nhom

    option button. Moi mot nhom option button se hoat ong oc lap vi cac nhom khac va nh vay chung ta co the chon mot nut cua cac nhom nay ma khong anh hng en nhom nut chon khac.

    Ngoai ra e de x ly cac option button trong cung mot nhom chung ta thng se phai tao nhng nut nay di dang mang cac option button.

    Cung lu y neu a frame vao sau se e cac Option button va ta khong the chnh. Cach nhom nay ch tac ong cho Option Button, ngoai ra frame la mot ieu khien e cha cac oi tng khac.

  • Combo box va List box

    Combobox va Listbox eu la hai loai ieu khien a ra mot danh sach cac muc e ngi dung chon la. Hai loai ieu khien nay co cac thuoc tnh va x ly gan tng t nh nhau o la:

    Thuoc tnh Style. Cac thuoc tnh List ListCount

    ListIndex Phng thc AddItem RemoveItem Cac bien co Click DbClick va Change

  • Thuoc tnh Styleay la thuoc tnh qui nh loai combo box va list box. Vi combo box thuoc tnh

    Style co ba gia tr tng ng vi ba loai combo box khac nhau gom : Loai Dropdown ComboBox (Style=0): ay la loai mac nhien cua mot

    combobox, co hnh thc hien th giong nh combo box. Loai nay cho phep ngi dung nhap d lieu mi vao hay chon t danh sach.

    Loai Droplist ComboBox (Style =2): Loai nay khong cho phep ngi sdung nhap gia tr mi ma ch co the nhap t danh sach. Combobox thng c dung e thay the nhng Combobox co yeu cau la ch oc (Locked)

    Loai Simple ComboBox (Style= 1) : Loai Combo box nay cung cho phep ngi nhap mot gia tr mi vao hay chon t danh sach san nh Dropdown Combobox, nhng hnh thc hien th.

    Khac vi Combobox, List box thng c dung theo loai chuan tc la loai thuoc tnh Style =0. Listbox chuan la mot khung hnh ch nhat cha cac muc chon nh trong hnh lll.5 tren. Trong trng hp so muc chon co trong Listbox nhieu hn kch thc hien th cua Listbox th Listbox se co thanh cuon ng kem.

    Ngoai dang chuan ra, Listbox loai nay co the s dung theo loai Checkbox(Style =1) . Vi List box loai nay, se co them mot Checkbox ben trai moi muc chon co trong danh sach.

  • Thuoc tnh ListTap hp cac muc chon co trong ListBox hay mot

    ComboBox c xem nh mot mang cac chuoi gia tr. Trong mang nay gia tr muc chon au tien se co v tr la 0, muc chon th hai se co vtr la 1,

    e truy xuat muc chon th k (tc v tr k-1) chung ta co the dung thuoc tnh List chung ta co thedung thuoc tnh List cua Listbox hay Combobox i dang

    . List ()

  • Thuoc tnh ListCount Thuoc tnh nay giup xac nh so muc chon ang co

    trong mot Combobox hay Listbox nao o. Da vao thuoc tnh nay chung ta se co the duyet qua lan lt cac muc co trong danh sach cua mot oi tng co ten List1 bang cau truc lenh nh sau :

    Dim i As IntegerFor i = 0 To List1.ListCount 1Cac x ly trong List1.List(i)Next i

  • Thuoc tnh ListIndexThuoc tnh nay ch ra v tr cua mot muc c chon trong danh sach cua

    Combobox hay List box. Gia tr cua thuoc tnh co the c hieu nh sau:ListIndex = 0 Muc au tien trong danh sach c chonListIndex = 1 Muc hai c chonListIndex = ListCount 1 Muc cuoi cung c chonNh vay, ngoai cach s dung thuoc tnh Text la thuoc tnh gia tr mac

    nhien cua mot Combobox hay List box e truy xuat gia tr cua muc ang c chon, chung ta co the s dung thuoc tnh List vaLisIndex nh sau:

    .List (ListIndex) hay .TextTrong trng hp khong co muc nao c chon trong Listbox th thuoc

    tnh ListIndex se co gia tr la 1. chnh v vay, khi can kiem tra comuc nao c chon hay khong chung ta co the kiem tra gia tr cua thuoc tnh ListIndex co bang 1 hay khong.

  • Them muc mi vao danh sach che o thiet ke, chung ta co the them cac muc

    vao danh sach chon cua Listbox hay Combobox bang thuoc tnh List. Nhng khi chng trnh ang chay, e them cac muc mi vao mot List box hay Combo box chung ta phai dung phng thc Addltem theo cu phap sau:

    .Addltem [,]Khi thanh phan v tr trong cu phap s dung phng

    thc Addltem c bo qua th chuoi gia tr cua muc them se c them vao cuoi danh sach.

  • Xoa cac muc trong danh sach Phng thc Removeltem cho phep chung ta xoa mot muc chon v tr

    nao o ra ngoai danh sach. Cach s dung cua phng thc nay khan gian.

    .Removeltem Lu y : mot so iem can nh la v tr cua cac muc trong danh sach chon

    cua List box hay Combo box se thay oi sau khi chung ta xoa mot muc nao o. V du, neu chung ta xoa mot muc au tien th muc cov tr la 1 se co v tr mi la 0, muc co v tr la 2 se co v tr mi la1

    Trong trng hp can xoa tat ca cac muc trong danh sach chung ta cothe dung phng thc Clear cua hai loai ieu khien nay.

    VD: thc hien viec xoa cac muc chon a chuyen sang lstDangky co thethc hien lstDichvu.Clear thay v thc hien 1 vong lap.

  • Cac bien co thong thng Co hai bien co thng c s dung vi cac ieu khien Listbox va

    Combobox la bien co Click va DblClick. Vi Listbox th hai bien co nay kha de hieu, nhng vi Combobox th chung ta can phan biet ro cac bien co Click, Change va DblClick nh sau:

    Bien co Click: Bien nay se phat sinh khi ngi s dung nhan chuot e chon muc nao o trong danh sach. Neu can xac nh v trva gia tr cua muc va c chon chung ta co the dung thuoc tnh Listlndex va Text.

    Bien co Change : Khi ngi s dung nhap gia tr vao trong mot Com box th bien co Change se phat sinh. Gia tr va nhap nay cothe oc c nh thuoc tnh Text cua Combo box.Can lu y la mac du khi ngi dung nhan chuot chon mot muc a co trong danh sach th noi dung cua Combo box cung b thay oi nhng bien coChange se khong phat sinh.

    Bien co DblClick: Bien co nay ch phat sinh khi Combo box thuoc loai Simple Combo box (co thuoc tnh Style = 1)

  • LList box co nhieu muc chon Thuoc tnh MultiSelectThong thng vi cac List box, ngi s dung se ch c

    chon ung mot muc co trong danh sach ma thoi. o la vmac nhien khi va c tao, thuoc tnh MultiSelect cua mot Listbox co gia tr la 0 (None). Khi can thiet phai cho phep ngi s dung chon cung luc nhieu danh sach, chung ta co the at thuoc tnh nay lai la 1 (Simple) hay 2 (Extended).

    Neu thuoc tnh MultiSelect bang 1 (1-Simple), ngi sdung co the chon ri rac nhieu muc co trong danh sach cua List box. Con neu thuoc tnh nay co gia tr la 2 (2-Extended) th ngi s dung co the chon nhieu oi tng cung luc bang cac dung them phm Shift hay Ctrl.

  • Xac nh cac muc ang c chonVi cac Listbox cho phep chon nhieu muc co trong danh sach, chung ta

    thng xuyen phai thc hien cac x ly tren cac muc ang c chon nay. Nhng lam the nao e biet c nhng muc nao ang c chon trong danh sach? e giai quyet van e nay chung ta co the dung thuoc tnh Selected cua List box e kiem tra xem mot muc co c chon hay khong? Neu mot muc v tr k trong List box ang c chon th gia tr cua bieu thc

    . Selected (k)se la True, con ngc lai se la False. Vi tnh chat nay, chung ta co the

    duyet qua cac muc c chon trong danh sach theo cu phap lenh sau:

    For i = 0 To .ListCount-1If . Selected (i) ThenX ly tren muc c chon End IfNext i

  • Dim itemTest As String, i As IntegerFor i = 0 To lstDichVu.ListCount - 1

    If lstDichVu.Selected(i) ThenItemtext = lstDichVu.List(i)lstDangKy.AddItem Itemtext

    End IfNextTuy nhien, sau khi them cac muc ang c chon trong LstDichvu sang

    LstDangky, oan chng trnh nay se khong xoa cac muc ang c chon nay khoi LstDichvu.

    Moi khi ta xoa mot muc nao o ra khoi LstDichvu, v tr cua cac muc (sau phan t b xoa) cung nh so phan t con lai trong danh sach se b thay oi. Chnh v vay, e giai quyet van e neu tren co nhieu cach thc hien khac nhau. Mot cach kha n gian o la s dung vong lap For duyet ngc tLstDichvu.Count-1 en 0.

    For i = lstDichVu.ListCount - 1 To 0 Step -1If lstDichVu.Selected(i) Then lstDichVu.RemoveItem i

    Next

  • Thuoc tnh TopIndexTrong cac ieu khien List box hay Combo box (dang Simple)

    co nhieu muc chon trong danh sach, neu kch thc cua cac ieu khien nay khong the hien c tat ca cac muc chon th chung ta se thay xuat hien mot thanh cuon cho phep ngi s dung co the cuon danh sach len hay xuong e chon la.

    Trong chng trnh, khi at thuoc tnh TopIidex cua mot ieu khien List box hay Combo box dang Simple bang vi mot gia tr n nao o th danh sach cac muc chon se tong c cuon se t ong c cuon sao cho muc th n se hien th au tien tren man hnh.

    VD: Muon hien th chuyen a lat (hang 2 trong list) thdung

    CmbChuyen.ListIndex=1

  • Thuoc tnh ItemData ItemData thc chat la mang cac so nguyen co

    cung ch so vi mang thuoc tnh List co trong List box hay Combo box. Trong trng hp can ong bo moi chuoi muc co trong danh sach thuoc tnh List vi mot so nguyen, ta co thedung thuoc tnh ItemData nay.

  • V du:

    listboxlistbox

    Combobox

    OI TNG IEU KHIEN C BANMot so net chung.A. S dung cac controlIcon, ten cong dung cac control c s.Icon, ten cong dung cac control c sThuoc tnh chung cac controlThuoc tnh ten (Name)Thuoc tnh nh dang (Format)Thuoc tnh nh dang (Format)Thuoc tnh gia tr (Value)Thuoc tnh gia tr mac nhienText BoxThuoc tnh MultilineThuoc tnh AlignmentThuoc tnh LockedX ly khoi van banX ly chon khoi van banX ly thay the khoi van banTextbox va Clipboardieu khien d lieu nhap trong TextboxPhan biet KeyPress, KeyUp va KeyDownBien co ValidateV du ve ValidateBien co ChangeHan che cua Textbox va giai quyetNut chon va Hop chonXac nh trang thaiThay oi trang thaiNhom cac Option buttonCong dung FrameCombo box va List boxThuoc tnh StyleThuoc tnh ListThuoc tnh ListCountThuoc tnh ListIndexThem muc mi vao danh sachXoa cac muc trong danh sachCac bien co thong thngList box co nhieu muc chonThuoc tnh TopIndexThuoc tnh ItemData