Visual Basic

Home

Visual Basic Tutorial
Knowledge Developer Database Internet Resource
ฟอร์ม
1. คุณสมบัติ, เมธอด และ Event
2. คุณสมบัติ, เมธอด และ Event ของฟอร์ม
3. กราฟฟิก
 
Visual Basic Tutorial
1. Visual Basic 6
2. ฟอร์ม
3. Intrinsic Control
4. ตัวแปรและ Procedure
5. Class
6. Common Control1
7. Common Control2
8. ActiveX Control
9. Interface
10. ฐานข้อมูล
11. Database Control
 
Developer
Visual Basic
Microsoft Access
Microsoft Excel
 

คุณสมบัติ, เมธอด และ Event

โปรแกรมประยุกต์ตอบสนองกับผู้ใช้ผ่าน คุณสมบัติ, เมธอด และ event ซึ่งมี คุณสมบัติ, เมธอด และ event ร่วม ที่ควรรู้จัก ดังนี้

คุณสมบัติร่วม

1. Left, Top, Width และ Height

ใช้จัดตำแหน่งของอ๊อบเจค เช่น การวางฟอร์มที่มุมซ้ายบน มีความกว้าง 5000 twips และสูง 3000 twips

Form1.Left = 0
Form1.Top = 0
Form1.Width = 5000
Form1.Height = 3000

2. ForeColor และ BackColor

ใช้กำหนดสีของข้อความและสีพื้นหลังของอ๊อบเจค ซึ่งสามารถกำหนดสีเป็นแบบ palette และ system เช่น

กำหนดสีแบบ palette
Label1.ForeColor = vbHighlightText

กำหนดสีแบบ system
Label1.BackColor = &H800000D

รวมถึงการกำหนดด้วยค่าคงที่, เลขฐานสิบ และเลขฐานสิบหก ตามตัวอย่างเป็นสีเดียวกัน

ค่าคงที่
Text1.BackColor = vbCyan

เลขฐานสิบ
Text1.BackColor = 16776960

เลขฐานสิบหก
Text1.BackColor = &HFFF00

3. Font

ใช้กำหนดลักษณะการแสดงตัวอักษร การตั้งค่าคุณสมบัติ Font สามารถใช้ไดอะล๊อกบ๊อกซ์ แต่ในขณะที่กำลังเรียกใช้การกำหนด Font จะยุ่งยากขึ้น เนื่องจาก Font เป็นอ๊อบเจคแบบรวม ประกอบด้วยคุณสมบัติ Name, Size, Bold, Italic, Underline และ StrikeThrough

Text1.Font.Name = "Arial"
Text1.Font.Size = 12
Text1.Font.Bold = True

4. Caption และText

ใช้ในการแสดงข้อความ โดยคุณสมบัติ Caption เป็นข้อความที่ปรากฏภายในตัว control และไม่สามารถแก้ไขได้โดยผู้ใช้เมื่อเรียกใช้โปรแกรม คุณสมบัติ Text ผู้ใช้สามารถแก้ไขได้

Label1.Caption = "Title"
Text1.Text = "Hello Word"

5. Enabled, Locked และ Visible

โดยคุณสมบัติ Visible ใช้กำหนดการมองเห็น คุณสมบัติ Enabled และ Locked กำหนดการเข้าถึงตัว control แต่ต่างกันที่ คุณสมบัติ Enabled ถ้ากำหนดไม่ให้เข้าถึง (Enabled = False) แล้ว ตัว control ไม่สามารถรับโฟกัสได้ ส่วนคุณสมบัติ Locked ถ้ากำหนดไม่ให้เข้าถึง (Locked = True) แล้ว ตัว control ยังสามารถรับโฟกัสได้

Text1.Enabled = (Check1.Value = vbChecked)
Text1.Locked = (Check1.Value = vbChecked)

6. TabStop และ TabIndex

ใช้กำหนดลำดับของแท็บ

Label1.Caption = "&Name"
Text1.TabIndex = Label1.TabIndex + 1

7. MousePointer และ MouseIcon

ใช้กำหนดไอคอนของเมาส์เมื่อเคลื่อนที่ผ่านตัว control

Text1.MousePointer = vbCrosshair

8. คุณสมบัติอื่นๆ

คุณสมบัติ Value มีค่าตามชนิดของตัว control รวมถึงตัว control ประเภท ActiveX

คุณสมบัติ Index เป็นสิ่งสำคัญในการสร้าง array ของตัว control และมีคุณสมบัติแบบอ่านอย่างเดียว เมื่อเรียกใช้ตัว control

คุณสมบัติ Appearance ตามปกติจะกำหนดค่าคุณสมบัติเริ่มต้นเป็น 3 มิติ แต่เปลี่ยนแบบภาพ การกำหนดค่าทำได้ในเวลาออกแบบ และเป็นแบบอ่านอย่างเดียว เมื่อมีการเรียกใช้

คุณสมบัติ Align เป็นการให้ตัว control สัมผัสกับขอบของ Windows มีตัว control ที่สนับสนุนคือ Picture box และ Data รวมถึงตัว control ประเภท ActiveX

คุณสมบัติ BorderStyle มี intrinsic control สนับสนุนจำนวนหนึ่งได้แก่ Text box, Label, Frame, Picture box, Image และ OLE โดยถ้าตั้งค่าเป็น 0-none จะไม่มีเส้นขอบ ถ้าตั้งค่าเป็น 1-Fixed จะมีเส้นขอบส่วนฟอร์ม มีคุณสมบัตินี้ แต่การกำหนดเป็นแบบอื่น

คุณสมบัติ ToolTip เป็น Windows สีเหลืองขนาดเล็กปรากฏขึ้นเมื่อเมาส์เคลื่อนที่ไปอยู่เหนือตัว control หรือไอคอน และอยู่บริเวณนั้น 1-2 วินาที Visual Basic เวอร์ชัน 5 และ 6 มีคุณสมบัติ ToolTipText สำหรับการรวมข้อความ แต่ฟอร์มไม่สนับสนุนคุณสมบัตินี้

คุณสมบัติ DragMode และ DragIcon ใช้สำหรับการ drag ตัว control บนฟอร์ม แต่จะถูกยับยั้งโดยคุณสมบัติ และเมธอด OLEXXXX ในปัจจุบัน ควรใช้คุณสมบัติ OLE Drag และ Drop

คุณสมบัติ LinkMode, LinkTopic, LinkItem และ LinkTimeout รวมถึงเมธอด LinkPoke, LinkExecute, LinkRequest และ LinkSend ใช้ในการทำให้ถึง control และฟอร์มติดต่อกับโปรโตคอล DDE กับตัว control และฟอร์มของโปรแกรมประยุกต์อื่น ในปัจจุบัน สามารถใช้ OLE และ COM ในการติดต่อกับโปรแกรมประยุกต์อื่น

เมธอดร่วม

1. Move

ใช้ในการย้ายอ๊อบเจคหรือตัว control และมีไวยากรณ์ คือ

[object.]Move Left [, Top, Width, Height]

เช่น การย้ายฟอร์มไปที่มุมซ้ายบน มีความกว้างและความสูงเป็น 2 เท่าของขนาดเดิม

Form1.Move 0,0, Form1.Width*2, Form1.Height * 2

2. Refresh

ใช้ในการวาดตัว control ใหม่ ตามปกติไม่ใช้เนื่องจาก Visual Basic มีการปรับค่าโดยอัตโนมัติ แต่สามารถใช้ได้ในกรณีที่ต้องการให้มีการปรับคุณสมบัติทันที เช่น

Dim i As Integer
For i = 1000 to 1 Step - 1
    Label1.Caption = (str(i))
    Label1.Refresh
Next

3. SetFocus

ใช้ย้ายโฟกัสไปที่ตัว control ที่ระบุ แต่จะเกิดความผิดพลาด ถ้าตัว control ที่กำหนดเข้าถึงไม่ได้ หรือมองไม่เห็น ดังนั้น ควรหลีกเลี่ยงการใช้เมธอดนี้ใน Form_Load event และควรใช้ร่วมกับประโยคคำสั่ง On Error

On error Resume Next
Text1.SetFocus

Event ร่วม

1. Click และ DblClick event

Click event จะเกิดเมื่อผู้ใช้กดปุ่มเมาส์ด้านซ้ายบนตัว control และ DblClick event เกิดเมื่อเป็นการปุ่มเมาส์ด้านซ้ายแบบดับเบิลคลิก

Private Sub Form_Click()
    Dim t As Single

IsClick = True
t = Timer
DoEvents
If Not IsClick Then Exit Sub
Loop Until Timer > t + 0.5 Or Timer < t
txtMonitor = "Click event บนฟอร์ม"

End Sub

2. Change event

เป็น event พื้นฐานที่เกิดเมื่อข้อมูลของตัว control มีการเปลี่ยนแปลง สามารถใช้ในการลบข้อมูลของตัว control ที่สัมพันธ์กัน เช่น ในฟอร์มการชำระเงินกู้ เมื่อมีการเปลี่ยนรหัสสมาชิกผู้ชำระเงิน เลขที่สัญญาเงินกู้ควรเปลี่ยนแปลงด้วย ซึ่งจะช่วยป้องกันความสับสนได้

Private Sub MemberID_Change()
    ContactID = ""
End Sub

3. GotFocus และ LostFocus event

GotFocus event เกิดขึ้นเมื่อตัว control ได้รับการโฟกัส เช่นเมื่อเมาส์เลื่อนมาถึง และ LostFocus event เกิดเมื่อการโฟกัสออกไปจากตัว control

4. KeyPress, KeyDown และ KeyUp event

เป็น event ที่เกิดเพื่อกดปุ่มแป้นพิมพ์ ขณะที่ตัว control ได้รับการโฟกัส โดยมีลำดับดังนี้ KeyDown (เมื่อผู้ใช้กดปุ่มแป้นพิมพ์) KeyPress (Visual Basic แปลปุ่มนั้นเป็นรหัส ANSI) และ KeyUp (เมื่อปล่อยปุ่มแป้นจากพิมพ์)

Private Sub Text1_Key Press (KeyAscii As Integer)
    KeyAscii = Asc(UCase$(Chr$(KeyAscii)))
    If KeyAscii = Asc("") Then KeyAscii = 0
End Sub

5. MouseDown, MouseUp และ MouseMove event

เป็น event ที่เกิดขึ้นเมื่อมีการคลิก, ปล่อย หรือย้าย ของเมาส์บนตัว control

ลำดับการเกิด Click event มีลำดับ คือ MouseDown -> MouseUp -> Click -> MouseMove

ลำดับการเกิด DblClick event มีลำดับ คือ MouseDown -> MouseUp -> Click -> MouseMove -> DblClick -> MouseUp -> MouseUp

 

  

สงวนลิขสิทธิ (C) widebase