1. Trang chủ
  2. » Công Nghệ Thông Tin

Thủ thuật Visual Basic

22 743 7
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thủ Thuật Visual Basic
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Luận
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 22
Dung lượng 102,73 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thủ thuật Visual Basic

Trang 2

MUƠC LUƠC

Lađm cho Form luön luön hiïơn ra möơt chöî vađ cuđng möơt cúô 2

Duđng Event nađo ăïí update Form? 3

Lađm sao ta biïịt möơt Form ăaô ặúơc Loaded? 3

Lađm möơt Form giöịng möơt Form coâ sùĩn 4

Lađm cho Controls biïịn míịt 5

Choơn nhiïìu Controls nhû möơt nhoâm 5

Choơn nhiïìu hađng trong ListBox 5

'Sort' caâc hađng trong möơt Listbox 6

Sùưp ngay cöơt nhûông chûô trong caâc hađng khaâc nhau cuêa Listbox 6

Drag möơt hađng tûđ Listbox níìy boê vađo Listbox khaâc 6

Lađm sao biïịt Drag Source lađ control nađo 7

In nhûông hađng ặúơc choơn cuêa möơt ListBox 8

Bùưt buöơc user phaêi click ComboBox ăïí choơn möơt hađng 8

Lađm möơt Control hiïơn ra trïn moơi trang cuêa Tab Control 8

Sùưp xïịp thûâ tûơ caâc TextBox cho Data Entry 9

Lađm sao cho data vađo trong ListBox hay ComboBox 9

Sao khöng thíịy hònh trong CommandButton? 10

Lađm sao ăùơt icon lïn Toolbar lađm shortcut cho möơt menu command cuêa VBIDE? 10

Caâc daơng cuêa Ngađy vađ Thò giúđ 10

Lađm sao ăoơc tûđ möơt Text file 14

Lađm sao chûâa vađo möơt Text file 14

Caâch thûâc Log möơt dûô kiïơn vađo möơt Text file ? 15

Caâch thûâc ăoơc/viïịt value cuêa möơt Variable tûđ möơt "ini" file ? 17

Ăöíi Enter key ra Tab key 18

Ăöíi daơng MousePointer ra ăöìng höì caât 19

Kiïịm Help cho caâc Functions 19

Duđng Docket Dot Matrix Printer 20

Cho Application möơt Icon 21

VB shorcut Keys 21

Trang 3

Lađm hiïơn ra möơt Form khaâc

Giaê sûê baơn ăang úê trong Form1 vađ muöịn lađm cho Form2 hiïơn ra, haôy sûê duơng:

Form2.Show Khi muöịn díịu Form2, duđng:

Form2.Hide

Khi möơt Form ặúơc 'Show' líìn ăíìu tiïn, noâ ặúơc 'Load' (cho thađnh hònh) vađ 'Show' ngay sau ăoâ Khi möơt Form ăaô coâ röìi, tûâc lađ ăaô ặúơc 'Load' röìi, luâc baơn 'Hide' noâ cq•ng giöịng nhû keâo möơt tíịm mađn che noâ laơi Kïị ăoâ, khi baơn 'Show' noâ cq•ng giöịng nhû múê mađn ra, khöng coâ gò aênh hûúêng Form

Baơn coâ thïí cho Form biïịn míịt bùìng caâch 'Unload' noâ, nhû:

Unload Form2

Líìn túâi khi baơn 'Show' noâ, Form seô ặúơc 'Load' trúê laơi Möîi khi Form ặúơc 'Load', noâ 'execute' sub Form_Load Form_Load lađ núi baơn viïịt caâc 'statements' ăïí 'initialise' Form, tûâc lađ nhûông gò cíìn phaêi ặúơc sùưp xïịp cho sùĩn sađng trûúâc khi Form thađnh hònh

Do ăoâ baơn phaêi quýịt ắnh khi nađo duđng Unload hay Hide ăï? Lađm cho Form biïịn míịt Nhúâ rùìng möîi khi Form ặúơc 'Load' thò noâ 'initialise' vađ míịt möơt ñt thò giúđ

Nïịu baơn muöịn lađm cho möơt Form hiïơn ra vađ khiïịn noâ dađnh nhíơn tíịt caê

'keystrokes' vađ 'mouse clicks' thò duđng:

Form2.Show vbModal

Ngay sau khi Form2 ặúơc 'Show' dûúâi daơng vbModal, noâ dađnh ngay CPU process, ăïịn ăöíi statement nùìm ngay dûúâi ăoâ trong Form1 cq•ng ăúơi cho ăïịn khi Form2 biïịn míịt bùìng Unload hay Hide múâi chaơy tiïịp ặúơc

Nïịu baơn muöịn Form2 hiïơn ra trong Modeless (khöng phaêi Modal) nhûng luön luön nùìm trïn Form1, ngay caê khi Form1 trúê thađnh active, duđng:

Form2.Show ,Me ' Me lađ Form1

Lađm cho Form luön luön hiïơn ra möơt chöî vađ cuđng möơt cúô

trong Sub Form_Load, duđng

Trang 4

Move fLeft, fTop, fWidth, fHeight

Ăïí nhúâ thûâ tûơ caâc parameters trong Sub Move haôy nhúâ toơa ăöơ coâ X,Y trong Sub Move ta noâi ăïịn võ trñ X,Y ( fLeft, fTop) röìi cúê X,Y (fWidth, fHeight) Move lađ möơt method coâ thïí ặúơc duđng cho Form hay Control vađ ríịt hiïơu quaê Nïịu muöịn Frame1 luön luön nùìm úê ẳnh traâi, duđng:

Frame1.move 0,0

Nïịu muöịn chöî vađ cúê cuêa Form 'configurable' (user coâ thïí thay ăöíi) thò chûâa caâc dûđ kiïơn ăoâ trong Registry röìi ăoơc fLeft, fTop, fWidth, fHeight tûđ Registry trong Sub Form_Load ( xem Function GetSetting )

Ăïí cho Form2 hiïơn ra bïn phaêi vađ ngang hađng vúâi Form1, trom Sub

Form_Load cuêa Form2 duđng:

Sub Form_Load()

Move Form1.Width, Form1.Top

End Sub

Duđng Event nađo ăïí update Form?

Möîi khi trúê laơi möơt Form sau khi lađm viïơc úê möơt Form khaâc, ta muöịn 'update' möơt söị dûô kiïơn ăang ặúơc 'display' ăïí phaên aênh nhûđng thay ăöíi vûđa múâi xaôy

ra

Ăïí code trong Sub Form_Activate

Lađm sao ta biïịt möơt Form ăaô ặúơc Loaded?

Duđng Function sau ăíy cuêa Microsoft:

Function FormIsLoaded(MyFormName As String) As Boolean

' Determines if a form is loaded

Trang 5

Khöng cho User Unload Form bùìng caâch click díịu X

Nhiïìu khi baơn muöịn thu xïịp moơi chuýơn ăađng hoađng trûúâc khi Unload möơt Form nïn baơn lađm möơt Exit hay Close button cho user duđng Ăïí lađm míịt díịu X phña ẳnh phaêi, 'set' Property ControlBox cuêa Form ra False Nïịu lađm thïị níìy coâ ăiïím bíịt lúơi lađ khi 'minimize' Form, ta khöng thíịy icon cuêa Form Coâ möơt caâch víîn ăïí nguýn díịu X, nhûng khi user click noâ thò ta check 'unloadMode' trong Sub Form_QueryUnload ăïí biïịt lyâ do taơi sao Form phaêi unload Trong Sub Form_Unload coâ thïí 'assign' Cancel ra True ăïí 'abort' Unload

Nïịu baơn muöịn khöng cho user minimise Form thò set Property MinButton ra False

Lađm möơt Form giöịng möơt Form coâ sùĩn

Nhiïìu khi baơn muöịn lađm möơt Form giöịng giöịng möơt Form ăaô coâ sùĩn trong Project Thñ duơ baơn muöịn 'duplicate' Form2 ăïí lađm nïn möơt Form3 ăïí sau ăoâ sûôa chûôa noâ chuât ẳnh Baơn lađm nhû sau:

1 Múê Form2 ra

2 Duđng Properties ăïí ăöíi tïn Form2 ra Form3

3 Duđng File | Save As menu command ăïí chûâa Form níìy dûúâi tïn

Form3.frm

Bíy giúđ baơn coâ thïm Form3 trong Project, trong khi Form2.frm víîn cođn ăoâ nhûng khöng cođn thuöơc vïì Project nûôa Nïịu baơn muöịn cho noâ vađo Project trúê laơi thò duđng Project | Ad File menu command ăïí choơn Form2.frm boê vađo Project

Trang 6

Lađm cho Controls biïịn míịt

Baơn lađm cho möơt Control nhû Label, Textbox, ListBox v v biïịn míịt bùìng caâch cho Property 'visible' trúê nïn False, nhû:

Invisible Control ríịt tiïơn duơng khi ta duđng noâ ăïí chûâa dûô kiïơn Möơt TextBox tađn hònh coâ thïí Databound ăïí lùơng leô chûâa data líịy tûđ möơt recordField cuêa current Record cho baơn duđng Baơn cq•ng coâ thïí 'assign' (cho noâ bùìng) möơt value vađo möơt Control tađn hònh Nïịu Control íịy Databound, value seô ặúơc viïịt vađo database khi ăuâng luâc

Choơn nhiïìu Controls nhû möơt nhoâm

Choơn nhiïìu Controls ríịt tiïơn cho viïơc assign möơt property cho caê nhoâm qua Properties Window Ăïí choơn nhiïìu Controls nhû möơt nhoâm baơn coâ thïí 'rubber band' (quíịn díy thun) caê nhoâm bùìng caâch 'drag' con troê thađnh möơt hònh chûđ nhíơt bao caê nhoâm laơi Nïịu caâc Controls íịy nùìm trong möơt container nhû

Frame hay Picture box, trûúâc hïịt baơn phaêi 'click' Form röìi kïị ăoâ ăeđ nuât 'Ctrl' xuöịng trong khi 'rubber band' nhû noâi trïn Möơt khi caâc Controls trong möơt nhoâm ăaô ặúơc choơn röìi ta coâ thïí duđng menu Format command ăïí Align (ngang hađng) chuâng hay lađm cho chuâng cuđng cúê

Choơn nhiïìu hađng trong ListBox

Muöịn cho user choơn nhiïìu hađng trong Listbox ta phaêi set Property Multiselct cuêa Listbox ra Extended Sau ăoâ user coâ thïí choơn nhiïìu hađng bùìng caâch bíịm nuât Shift hay Ctrl trong khi Click nhûông hađng Nhúâ lađ nïịu bíịm nuât Shift thò choơn nhûông hađng liïn tuơc giûôa hai caâi click, cođn bíịm nuât Ctrl thò choơn hay khöng choơn thïm tûđng hađng möơt

Möîi hađng trong Listbox List1 ặúơc cho thûâ tûơ tûđ 0 ăïịn List1.ListCount-1 Khi hađng i ặúơc selected thò List1.Selected(i) = True

Muöịn 'deselect' (khöng choơn) hađng ăoâ thò duđng List1.Selected(i) = False

Trang 7

'Sort' caâc hađng trong möơt Listbox

Nïịu ta muöịn nhûông hađng trong möơt Listbox ặúơc sorted theo míîu tûơ

(alphabetical order) thò khi thiïịt kïị (at design time) set Property Sorted cuêa Listbox ra True Trong khi xûê lyâ ta khöng thay ăöíi value cuêa Property Sorted ặúơc Nïịu möơt Listbox ăaô lúô coâ Property Sorted = False mađ ta muöịn Sort noâ trong khi xûê lyâ thò lađm sao? Baơn ăùơt thïm lïn Form möơt Listbox khaâc Listbox níìy coâ Property Sorted = True Khi nađo muöịn Sort caâc hađng trong Listbox thûâ nhíịt ta lađm nhû sao:

1 Cheâp tíịt caê moơi hađng tûđ Listbox thûâ nhíịt qua Listbox thûâ nhò, caâc hađng seô ặúơc sorted tûơ ăöng trong Listbox thûâ nhò

2 Clear Listbox thûâ nhíịt

3 Cheâp moơi hađng tûđ Listbox thûâ nhò qua Listbox thûâ nhíịt

Nhúâ ặđng cho user thíịy Listbox thûâ nhò bùìng caâch set Property Visible cuêa noâ ra False (tađn hònh)

Lûu yâ Clear möơt Listbox trûúâc khi cho möơt söị hađng múâi vađo vađ khöng muöịn giûô nhûông hađng cq• bùìng caâch duđng method Clear nhû List1.Clear

Sùưp ngay cöơt nhûông chûô trong caâc hađng khaâc nhau cuêa Listbox

Nïịu muöịn tíịt caê caâc chûô cöơt thûâ 8 cuêa caâc hađng trong möơt Listbox ặâng thùỉng hađng chiïìu cao (vertically) baơn coâ thïí set Font cuêa Listbox ra Courier, möơt loơai Fixed Font Tíịt caê caâc chûô cuêa Fixed Font nhû Courier ăïìu coâ cq•ng chiïìu röơng (character width) Ngûúơc laơi trong möơt Proportional spacing Font nhû "MS Sans Serif" chiïìu röơng cuêa chûđ 'ñ nhoê hún cuêa chûđ 'm' Nïịu baơn muöịn duđng Tab trong Listbox thò phaêi goơi möơt API Function ăïí lađm cho Listbox chõu nhíơn Tab (support Tab feature)

Sùưp ngay cöơt nhûông chûô trong caâc hađng khaâc nhau

cuêa Listbox

Nïịu muöịn tíịt caê caâc chûô cöơt thûâ 8 cuêa caâc hađng trong möơt Listbox ặâng thùỉng hađng chiïìu cao (vertically) baơn coâ thïí set Font cuêa Listbox ra Courier, möơt loơai Fixed Font Tíịt caê caâc chûô cuêa Fixed Font nhû Courier ăïìu coâ cq•ng chiïìu röơng (character width) Ngûúơc laơi trong möơt Proportional spacing Font nhû "MS Sans Serif" chiïìu röơng cuêa chûđ 'ñ nhoê hún cuêa chûđ 'm' Nïịu baơn muöịn duđng Tab trong Listbox thò phaêi goơi möơt API Function ăïí lađm cho Listbox chõu nhíơn Tab (support Tab feature)

Drag möơt hađng tûđ Listbox níìy boê vađo Listbox khaâc

Giaê sûê baơn muöịn Drag möơt hađng tûđ List1 boê vađo List2 vađ display noâ úê cuöịi List2

Trang 8

Ta seô duđng Mousedown Event cuêa List1 mađ Drag Khi bùưt ăíìu Drag ta muöịn MousePointer ăöíi ra hònh möơt trang giíịy Do ăoâ ta phaêi Browse directory ăïí cho vađo Property DragIcon cuêa List1 tïn möơt Icon File Baơn coâ thïí vađo Folder C:Program File\Microsoft Visual Studio\Common\Graphics\IconsDragDrop lïí choơ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 lađ List1

List2.AddItem Source.Text ' Boê hađng tûđ List1 vö cuöịi List2

Source.RemoveItem Source.ListIndex ' Líịy hađng ra khoêi List1

List2.Listindex = List2.Listcount-1 ' Hilight hađng cuöịi vađ lađm cho noâ ặúơc display

End Sub

Lađm sao biïịt Drag Source lađ control nađo

Ta coâ thïí duđng Function Typename nhû:

TypeName(Source) ăïí xem noâ lađ "ListBox" hay "TextBox" etc hay duđng

TypeOf nhû:

If TypeOf Source Is ListBox Then

Msgbox " Drag source is a ListBox"

End If

Ta cq•ng coâ thïí duđng Name cuêa Source nhû:

If Source.Name = "List1" thenMsgBox "Drag source is List1"

Trang 9

MsgBox "Tag of Drag Source is: " & Source.Tag

End If

In nhûông hađng ặúơc choơn cuêa möơt ListBox

Ta duđng Printer Object Raâp tíịt caê nhûông hađng ặúơc choơn laơi thađnh möơt text string dađi, thïm vađo cuöịi möîi hađng lađ Carriage Return / LineFeed ( vbCrLf )

Dim i

strOut = "" ' Initialise Output string khöng coâ gò caê

For i=0 to List1.Listcount-1

Nïịu baơn muöịn in tûđng hađng thò duđng:

Printer.Print List1.List(i) ' Khöng cíìn phaêi duđng vbVrLf

Muöịn in chûô ăíơm thò múê BOLD lïn bùìng:

Printer.FontBold = True

vađ khi nađo muöịn tùưt chûô ăíơm thò duđng:

Printer.FontBold = False

Bùưt buöơc user phaêi click ComboBox ăïí choơn möơt hađng

Khi Form múâi hiïơn ra, nïịu ăaô coâ sùĩn möơt hađng chûô nùìm trong ComboBox, mađ ăoâ ăuâng lađ hađng user muöịn duđng, ta khöng coâ dõp ăïí duđng Event Click cuêa ComboBox ăïí lađm chuýơn gò tuđy thuöơc vađo hađng mađ user ăaô choơn

Möơt maânh lúâi lađ trûúâc khi cho caâc hađng vađo ComboBox ta ăïí möơt hađng tröịng, thñ duơ nhû:

Combo1.AddItem " "

ComboBox seô nhû tröịng khöng khi Form múâi hiïơn ra, bùưt buöơc user phaêi choơn möơt hađng chúâ khöng duđng hađng ăíìu 'by default' (tûơ ăöơng coâ nïịu khöng lađm gò)

Lađm möơt Control hiïơn ra trïn moơi trang cuêa Tab Control

Möîi trang cuêa Tab Control chûâa riïng nhûông Control cuêa noâ Nïịu baơn muöịn möơt Textbox, Listbox hay CommandButton hiïơn ra trïn moơi trang cuêa Tab, baơn taơo control ăoâ bïn ngoađi Tab vađ keâo noâ vađo ăùơt lïn trïn Tab Nïịy Control

Trang 10

nùìm phña dûúâi Tab, duđng VBIDE menu Comand "Format | Order | Bring to Front" ăïí mang Control ra phña trûúâc

Sùưp xïịp thûâ tûơ caâc TextBox cho Data Entry

Khi user ăiïìn caâc dûô kiïơn vađo möơt Form (Data Entry), user rúđi möîi TextBox bùìng caâch bíịm nuât Tab Kïị ăoâ MouseCursor nhaêy ăïịn TextBox coâ Property TabIndex value theo thûâ tûơ sau TabIndex value cuêa TextBox vûđa rúđi khoêi Thûúđng thûúđng ta cho TabIndex value theo thûâ tûơ tûđng cùơp LblName, txtName röìi lblAddress, txtAddress, v.v coâ TabIndex values thñ duơ nhû 1,2,3,4 Khi txtName (TabIndex=2) míịt Focus, mouseCursor dúđi ăïịn lblAddress

(TabIndex=3) , nhûng vò lblAddress lađ möơt Label nïn khöng chûâa

mouseCursor ặúơc, do ăoâ mouseCursor nhaêy ăïịn txtAddress (TabIndex=4) Nïịu Caption cuêa lblAddress coâ möơt character underlined, nhû

lblAddress.Caption = "Add&ess" ' character "e" underlined

khi user bíịm Alt+e bíịt cûâ luâc nađo mousePointer seô nhaêy ăïịn lblAddress nhûng röịt cuöơc rúât vađo TextBox kïị ăoâ, tûâc lađ txtAddress trong trûúđng húơp níìy

Nïịu baơn khöng muöịn mousePointer ăaâp vađo möơt TextBox nađo set Property TabStop cuêa noâ ra False Baơn cq•ng coâ thïí khöng cho user thay ăöíi dûô kiïơn úê möơt TextBox bùìng caâch set Property Enabled ra False hay Locked ra True

Lađm sao cho data vađo trong ListBox hay ComboBox

Khi Design ta coâ thïí duđng Property List cuêa ListBox hay ComboBox ăïí ăaânh vađo caâc dođng data Möîi khi xuöịng hađng phaêi nhúâ duđng Ctrl+Enter chúâ khöng phaêi Enter, nïịu khöng VBIDE tûúêng lađ baơn ăaô chíịm dûât data entry

Möơt caâch khaâc ăïí cho data vađo ListBox hay ComboBox lađ duđng Method

AddItem trong Sub Form_Load, nhû:

Trang 11

Sao khöng thíịy hònh trong CommandButton?

Baơn duđng Properties Window ăïí ăùơt möơt Picture vađo möơt CommandButton bùìng caâch Browse vađ choơn möơt Image File Nhûng baơn khöng thíịy Picture ăíu caê Baơn cođn cíìn phaêi set Propety Style cuêa CommandButton ra "Graphical", thay vò "Standard"

Lađm sao ăùơt icon lïn Toolbar lađm shortcut cho möơt menu command

cuêa VBIDE?

Duđng Menu command View | Toolbars | Customize ăïí display Dialog

Customize Kïị ăoâ choơn Tag Commands, bïn traâi seô lađ möơt Listbox chûâa danh saâch caâc Categories vađ bïn phaêi lađ nhûông Commands thuöơc vïì Category ăang ặúơc highlighted Thûê select tûđng Category ăïí tòm trong Listbox bïn phaêi caâi Command coâ icon mađ baơn muöịn Drag icon ăoâ lïn Toolbar Nhín dõp níìy baơn coâ thïí boê möơt icon coâ sùĩn trïn Toolbar bùìng caâch Drag noâ ra chöî khaâc

Caâc daơng cuêa Ngađy vađ Thò giúđ

Duđng Function Format ăïí líịy ngađy giúđ theo daơng baơn muöịn Thñ duơ:

strToday = Format (Now(), "ddd dd-mmm-yyyy hh:nn:ss")

• Now() cho ta hiïơn giúđ (realtime líịy tûđ ăöìng höì cuêa CPU)

• ddd cho Mon, Tue vv

• mmm cho Jul, Feb vv

Nhúâ duđng "nn" cho phuât

Hai caâch duđng Timer

1 Timer coâ Interval tñnh bùìng milliseconds Khi Timer1 ặúơc Enabled (tûâc lađ Timer1.Enabled=True) noâ seô chaơy Sub Timer1_Timer möîi Interval msecs

Ngày đăng: 17/08/2012, 09:11

TỪ KHÓA LIÊN QUAN

w