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

Thủ thuật Visual Basic

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 (102.73 KB, 22 trang )


MC LC

Lâm cho Form ln ln hiïån ra mưåt chưỵ vâ cng mưåt cúä................................... 2

Dng Event nâo àïí update Form?........................................................................ 3
Lâm sao ta biïët mưåt Form àậ àûúåc Loaded? ...................................................... 3
Lâm mưåt Form giưëng mưåt Form cố sùén ................................................................ 4
Lâm cho Controls biïën mêët................................................................................... 5
Chổn nhiïìu Controls nhû mưåt nhốm .................................................................... 5
Chổn nhiïìu hâng trong ListBox ........................................................................... 5
'Sort' cấc hâng trong mưåt Listbox ......................................................................... 6
Sùỉp ngay cưåt nhûäng chûä trong cấc hâng khấc nhau ca Listbox. ....................... 6
Drag mưåt hâng tûâ Listbox nêìy bỗ vâo Listbox khấc ............................................ 6
Lâm sao biïët Drag Source lâ control nâo ............................................................. 7
In nhûäng hâng àûúåc chổn ca mưåt ListBox.......................................................... 8
Bùỉt båc user phẫi click ComboBox àïí chổn mưåt hâng .......................................8
Lâm mưåt Control hiïån ra trïn mổi trang ca Tab Control.................................. 8
Sùỉp xïëp thûá tûå cấc TextBox cho Data Entry........................................................ 9
Lâm sao cho data vâo trong ListBox hay ComboBox.......................................... 9
Sao khưng thêëy hònh trong CommandButton? .................................................. 10
Lâm sao àùåt icon lïn Toolbar lâm shortcut cho mưåt menu command ca
VBIDE?................................................................................................................10

Cấc dẩng ca Ngây vâ Thò giúâ ............................................................................ 10
Lâm sao àổc tûâ mưåt Text file............................................................................... 14
Lâm sao chûáa vâo mưåt Text file.......................................................................... 14
Cấch thûác Log mưåt dûä kiïån vâo mưåt Text file ?.................................................. 15
Cấch thûác àổc/viïët value ca mưåt Variable tûâ mưåt "ini" file ? ........................... 17
Àưíi Enter key ra Tab key.................................................................................... 18
Àưíi dẩng MousePointer ra àưìng hưì cất .............................................................. 19


Kiïëm Help cho cấc Functions.............................................................................. 19
Dng Docket Dot Matrix Printer........................................................................ 20
Cho Application mưåt Icon.................................................................................... 21
VB shorcut Keys.................................................................................................. 21
Lâm hiïån ra mưåt Form khấc
Giẫ sûã bẩn àang úã trong Form1 vâ mën lâm cho Form2 hiïån ra, hậy sûã dng:
Form2.Show
Khi mën dêëu Form2, dng:
Form2.Hide
Khi mưåt Form àûúåc 'Show' lêìn àêìu tiïn, nố àûúåc 'Load' (cho thânh hònh) vâ
'Show' ngay sau àố. Khi mưåt Form àậ cố rưìi, tûác lâ àậ àûúåc 'Load' rưìi, lc bẩn
'Hide' nố cq•ng giưëng nhû kếo mưåt têëm mân che nố lẩi. Kïë àố, khi bẩn 'Show'
nố cq•ng giưëng nhû múã mân ra, khưng cố gò ẫnh hûúãng Form.
Bẩn cố thïí cho Form biïën mêët bùçng cấch 'Unload' nố, nhû:
Unload Form2
Lêìn túái khi bẩn 'Show' nố, Form sệ àûúåc 'Load' trúã lẩi. Mưỵi khi Form àûúåc
'Load', nố 'execute' sub Form_Load. Form_Load lâ núi bẩn viïët cấc 'statements'
àïí 'initialise' Form, tûác lâ nhûäng gò cêìn phẫi àûúåc sùỉp xïëp cho sùén sâng trûúác
khi Form thânh hònh.
Do àố bẩn phẫi quët àõnh khi nâo dng Unload hay Hide àï? Lâm cho Form
biïën mêët. Nhúá rùçng mưỵi khi Form àûúåc 'Load' thò nố 'initialise' vâ mêët mưåt đt
thò giúâ.
Nïëu bẩn mën lâm cho mưåt Form hiïån ra vâ khiïën nố dânh nhêån têët cẫ
'keystrokes' vâ 'mouse clicks' thò dng:
Form2.Show vbModal
Ngay sau khi Form2 àûúåc 'Show' dûúái dẩng vbModal, nố dânh ngay CPU
process, àïën àưíi statement nùçm ngay dûúái àố trong Form1 cq•ng àúåi cho àïën
khi Form2 biïën mêët bùçng Unload hay Hide múái chẩy tiïëp àûúåc.
Nïëu bẩn mën Form2 hiïån ra trong Modeless (khưng phẫi Modal) nhûng ln
ln nùçm trïn Form1, ngay cẫ khi Form1 trúã thânh active, dng:

Form2.Show ,Me ' Me lâ Form1
Lâm cho Form ln ln hiïån ra mưåt chưỵ vâ cng mưåt cúä

trong Sub Form_Load, dng
Move fLeft, fTop, fWidth, fHeight
Àïí nhúá thûá tûå cấc parameters trong Sub Move hậy nhúá tổa àưå cố X,Y . trong
Sub Move ta nối àïën võ trđ X,Y ( fLeft, fTop) rưìi cúã X,Y (fWidth, fHeight).
Move lâ mưåt method cố thïí àûúåc dng cho Form hay Control vâ rêët hiïåu quẫ.
Nïëu mën Frame1 ln ln nùçm úã àónh trấi, dng:
Frame1.move 0,0
Nïëu mën chưỵ vâ cúã ca Form 'configurable' (user cố thïí thay àưíi) thò chûáa cấc
dûâ kiïån àố trong Registry rưìi àổc fLeft, fTop, fWidth, fHeight tûâ Registry trong
Sub Form_Load. ( xem Function GetSetting )
Àïí cho Form2 hiïån ra bïn phẫi vâ ngang hâng vúái Form1, trom Sub
Form_Load ca Form2 dng:
Sub Form_Load()
Move Form1.Width, Form1.Top
End Sub
Dng Event nâo àïí update Form?
Mưỵi khi trúã lẩi mưåt Form sau khi lâm viïåc úã mưåt Form khấc, ta mën 'update'
mưåt sưë dûä kiïån àang àûúåc 'display' àïí phẫn ẫnh nhûâng thay àưíi vûâa múái xậy
ra.
Àïí code trong Sub Form_Activate.
Lâm sao ta biïët mưåt Form àậ àûúåc Loaded?
Dng Function sau àêy ca Microsoft:
Function FormIsLoaded(MyFormName As String) As Boolean
' Determines if a form is loaded.
Dim i As Integer

FormIsLoaded = False

For i = 0 To Forms.Count - 1
If Forms(i).FormName = MyFormName Then
FormIsLoaded = True
Exit Function ' Quit function once form has been found.
End If
Next i
End Function
Ài qua hïët collection ca Forms àïí xem cố Form nâo trng tïn.
Cấch dng:
If FormIsLoaded("Form2") then
MsgBox "Form2 is already loaded"
End If
Khưng cho User Unload Form bùçng cấch click dêëu X
Nhiïìu khi bẩn mën thu xïëp mổi chuån àâng hoâng trûúác khi Unload mưåt Form
nïn bẩn lâm mưåt Exit hay Close button cho user dng. Àïí lâm mêët dêëu X phđa
àónh phẫi, 'set' Property ControlBox ca Form ra False. Nïëu lâm thïë nêìy cố àiïím
bêët lúåi lâ khi 'minimize' Form, ta khưng thêëy icon ca Form. Cố mưåt cấch vêỵn àïí
ngun dêëu X, nhûng khi user click nố thò ta check 'unloadMode' trong Sub
Form_QueryUnload àïí biïët l do tẩi sao Form phẫi unload. Trong Sub
Form_Unload cố thïí 'assign' Cancel ra True àïí 'abort' Unload.
Nïëu bẩn mën khưng cho user minimise Form thò set Property MinButton ra
False.
Lâm mưåt Form giưëng mưåt Form cố sùén
Nhiïìu khi bẩn mën lâm mưåt Form giưëng giưëng mưåt Form àậ cố sùén trong
Project. Thđ d bẩn mën 'duplicate' Form2 àïí lâm nïn mưåt Form3 àïí sau àố
sûäa chûäa nố cht àónh. Bẩn lâm nhû sau:
1.
Múã Form2 ra
2.
Dng Properties àïí àưíi tïn Form2 ra Form3

3.
Dng File | Save As menu command àïí chûáa Form nêìy dûúái tïn
Form3.frm
Bêy giúâ bẩn cố thïm Form3 trong Project, trong khi Form2.frm vêỵn côn àố
nhûng khưng côn thåc vïì Project nûäa. Nïëu bẩn mën cho nố vâo Project trúã
lẩi thò dng Project | Ad File .. menu command àïí chổn Form2.frm bỗ vâo
Project.
Lâm cho Controls biïën mêët
Bẩn lâm cho mưåt Control nhû Label, Textbox, ListBox .v..v biïën mêët bùçng cấch
cho Property 'visible' trúã nïn False, nhû:
TxtName.visible = False
Dng
TxtName.visible = True
àïí lâm Textbox txtName hiïån ra trúã lẩi. Khi mën cho mưåt nhốm Controls
biïën mêët hay hiïån ra cng mưåt lc, chûáa têët cẫ cấc Controls êëy trong mưåt
container nhû Frame hay PctureBox, rưìi chó cêìn lâm cho container êëy visible
hay khưng.
Invisible Control rêët tiïån dng khi ta dng nố àïí chûáa dûä kiïån. Mưåt TextBox tân
hònh cố thïí Databound àïí lùång lệ chûáa data lêëy tûâ mưåt recordField ca current
Record cho bẩn dng. Bẩn cq•ng cố thïí 'assign' (cho nố bùçng) mưåt value vâo mưåt
Control tân hònh. Nïëu Control êëy Databound, value sệ àûúåc viïët vâo database khi
àng lc.
Chổn nhiïìu Controls nhû mưåt nhốm
Chổn nhiïìu Controls rêët tiïån cho viïåc assign mưåt property cho cẫ nhốm qua
Properties Window. Àïí chổn nhiïìu Controls nhû mưåt nhốm bẩn cố thïí 'rubber
band' (qën dêy thun) cẫ nhốm bùçng cấch 'drag' con trỗ thânh mưåt hònh chûâ
nhêåt bao cẫ nhốm lẩi. Nïëu cấc Controls êëy nùçm trong mưåt container nhû
Frame hay Picture box, trûúác hïët bẩn phẫi 'click' Form rưìi kïë àố àê nt 'Ctrl'
xëng trong khi 'rubber band' nhû nối trïn. Mưåt khi cấc Controls trong mưåt
nhốm àậ àûúåc chổn rưìi ta cố thïí dng menu Format command àïí Align (ngang

hâng) chng hay lâm cho chng cng cúã.
Chổn nhiïìu hâng trong ListBox

Mën cho user chổn nhiïìu hâng trong Listbox ta phẫi set Property Multiselct
ca Listbox ra Extended. Sau àố user cố thïí chổn nhiïìu hâng bùçng cấch bêëm
nt Shift hay Ctrl trong khi Click nhûäng hâng. Nhúá lâ nïëu bêëm nt Shift thò
chổn nhûäng hâng liïn tc giûäa hai cấi click, côn bêëm nt Ctrl thò chổn hay
khưng chổn thïm tûâng hâng mưåt.

Mưỵi hâng trong Listbox List1 àûúåc cho thûá tûå tûâ 0 àïën List1.ListCount-1.
Khi hâng i àûúåc selected thò List1.Selected(i) = True.
Mën 'deselect' (khưng chổn) hâng àố thò dng List1.Selected(i) = False.

'Sort' cấc hâng trong mưåt Listbox
Nïëu ta mën nhûäng hâng trong mưåt Listbox àûúåc sorted theo mêỵu tûå
(alphabetical order) thò khi thiïët kïë (at design time) set Property Sorted ca
Listbox ra True. Trong khi xûã l ta khưng thay àưíi value ca Property Sorted
àûúåc. Nïëu mưåt Listbox àậ lúä cố Property Sorted = False mâ ta mën Sort nố
trong khi xûã l thò lâm sao? Bẩn àùåt thïm lïn Form mưåt Listbox khấc. Listbox
nêìy cố Property Sorted = True. Khi nâo mën Sort cấc hâng trong Listbox thûá
nhêët ta lâm nhû sao:
1.
Chếp têët cẫ mổi hâng tûâ Listbox thûá nhêët qua Listbox thûá nhò, cấc
hâng sệ àûúåc sorted tûå àưng trong Listbox thûá nhò.
2.
Clear Listbox thûá nhêët
3.
Chếp mổi hâng tûâ Listbox thûá nhò qua Listbox thûá nhêët.
Nhúá àûâng cho user thêëy Listbox thûá nhò bùçng cấch set Property Visible
ca nố ra False (tân hònh).

Lûu Clear mưåt Listbox trûúác khi cho mưåt sưë hâng múái vâo vâ khưng mën giûä
nhûäng hâng cq• bùçng cấch dng method Clear nhû List1.Clear.

Sùỉp ngay cưåt nhûäng chûä trong cấc hâng khấc nhau ca Listbox
Nïëu mën têët cẫ cấc chûä cưåt thûá 8 ca cấc hâng trong mưåt Listbox àûáng thùèng
hâng chiïìu cao (vertically) bẩn cố thïí set Font ca Listbox ra Courier, mưåt lổai
Fixed Font. Têët cẫ cấc chûä ca Fixed Font nhû Courier àïìu cố cq•ng chiïìu rưång
(character width). Ngûúåc lẩi trong mưåt Proportional spacing Font nhû "MS
Sans Serif" chiïìu rưång ca chûâ 'đ nhỗ hún ca chûâ 'm'. Nïëu bẩn mën dng Tab
trong Listbox thò phẫi gổi mưåt API Function àïí lâm cho Listbox chõu nhêån Tab
(support Tab feature).
Sùỉp ngay cưåt nhûäng chûä trong cấc hâng khấc nhau
ca Listbox.
Nïëu mën têët cẫ cấc chûä cưåt thûá 8 ca cấc hâng trong mưåt Listbox àûáng thùèng
hâng chiïìu cao (vertically) bẩn cố thïí set Font ca Listbox ra Courier, mưåt lổai
Fixed Font. Têët cẫ cấc chûä ca Fixed Font nhû Courier àïìu cố cq•ng chiïìu rưång
(character width). Ngûúåc lẩi trong mưåt Proportional spacing Font nhû "MS
Sans Serif" chiïìu rưång ca chûâ 'đ nhỗ hún ca chûâ 'm'. Nïëu bẩn mën dng Tab
trong Listbox thò phẫi gổi mưåt API Function àïí lâm cho Listbox chõu nhêån Tab
(support Tab feature).
Drag mưåt hâng tûâ Listbox nêìy bỗ vâo Listbox khấc
Giẫ sûã bẩn mën Drag mưåt hâng tûâ List1 bỗ vâo List2 vâ display nố úã cëi
List2.
Ta sệ dng Mousedown Event ca List1 mâ Drag. Khi bùỉt àêìu Drag ta mën
MousePointer àưíi ra hònh mưåt trang giêëy. Do àố ta phẫi Browse directory àïí
cho vâo Property DragIcon ca List1 tïn mưåt Icon File. Bẩn cố thïí vâo Folder
C:Program File\Microsoft Visual Studio\Common\Graphics\IconsDragDrop
lïí chổn mưåt Icon File.

Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As

Single, Y As Single)
List1.Drag ' Bùỉt àêìu drag
End Sub
Private Sub List2_DragDrop(Source As Control, X As Single, Y As Single)
' Source úã àêy lâ List1
List2.AddItem Source.Text ' Bỗ hâng tûâ List1 vư cëi List2
Source.RemoveItem Source.ListIndex ' Lêëy hâng ra khỗi List1
List2.Listindex = List2.Listcount-1 ' Hilight hâng cëi vâ lâm cho nố àûúåc
display
End Sub
Lâm sao biïët Drag Source lâ control nâo
Ta cố thïí dng Function Typename nhû:
TypeName(Source) àïí xem nố lâ "ListBox" hay "TextBox" etc..hay dng
TypeOf nhû:
If TypeOf Source Is ListBox Then
Msgbox " Drag source is a ListBox"
End If
Ta cq•ng cố thïí dng Name ca Source nhû:
If Source.Name = "List1" thenMsgBox "Drag source is List1"
End If
Ngoâi ra ta cq•ng cố thïí dng Property Tag ca Source Control àïí chûáa mưåt
biïåt danh vâ dng giưëng nhû tïn ca Drag Source nhû:
If Source.Tag = "MYLIST1" then

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×