โฟกัสเป็นสิ่งที่ใช้บ่งบอกว่า
คอนโทรลใดบนฟอร์มกำลังตอบสนองต่อการใส่ข้อมูลของผู้ใช้อยู่
เราสามารถเปลี่ยนโฟกัสไปยังคอนโทรลต่างๆ
ได้โดย
1.
เลือกคอนโทรลที่ต้องการให้ถูกรับโฟกัสโดยการกด
<Tab> ไปยังคอนโทรล, คลิกเมาส์
หรือกดคีย์ลัด (ShortCut)
ไปยังคอนโทรลนั้นๆ
2.
ใช้เมดถอด Focus
ของคอนโทรลที่ต้องการถูกรับโฟกัส
จากคำสั่ง
Private Sub Button1_Click(ByVal
sender As System.Object,
ByVal e As System.EventArgs)
Handles Button1.Click
TextBox1.Focus()
End Sub |
คอนโทรลที่ได้รับโฟกัสจะมีเส้นกรอบล้อมรอบ
ตัวอย่างโปรแกรมเกี่ยวกับโฟกัสของคอนโทรล
(FogusDemo)
ขั้นตอนการสร้างโปรแกรม
1. เลือกโปรเจ็กต์ Windows
Application
แล้วกำหนดคุณสมบัติดังตาราง
ชนิดคอนโทรล
|
คุณสมบัติ
|
ค่าที่กำหนดให้
|
คำอธิบาย
|
Form |
Name |
Form1 |
ชื่อฟอร์ม |
TextBox |
Name |
TextBox1 |
ชื่อเท็กบ็อกซ์ |
Text |
"" |
ข้อความที่กำหนดให้เท็กบ็อกซ์ |
TextBox |
Name |
TextBox2 |
ชื่อเท็กบ็อกซ์ |
Text |
"" |
ข้อความที่กำหนดให้เท็กบ็อกซ์ |
2. ใส่คำสั่งโปรแกรมลงไปใน Code
Editor
Private Sub
TextBox1_Leave(ByVal sender
As System.Object, ByVal e As
System.EventArgs) Handles
TextBox1.Leave
If Not
IsNumeric(TextBox1.Text)
Then
MsgBox("You must
enter numeric value.",
MsgBoxStyle.OKOnly)
TextBox1.Focus()
End If
End Sub |
3. รันโปรแกรมที่สร้างมาจะได้ผลลัพธ์
การกำหนดลำดับการเลื่อนโฟกัส
(Tab Order)
เมื่อกดปุ่ม <Tab>
จะมีการเลื่อนโฟกัสจากคอนโทรลหนึ่งไปยังอีกคอนโทรลหนึ่งบนฟอร์ม
เราสามารถกำหนดลำดับในการเลื่อนโฟกัสผ่านทางคุณสมบัติ
TabIndex ซึ่งปกติ VB.NET
จะกำหนดให้ลำดับในการเลื่อนโฟกัสปยังคอนโทรลต่างๆ
เรียงตามลำดับที่เราสร้างขึ้นในตอนออกแบบโปรแกรม
เราสามารถทำให้คอนโทรลไม่สามารถรับโฟกัสได้
โดยกำหนดคุณสมบัติ TabStop
ของคอนโทรลให้เท่ากับ False
การกำหนดลำดับการเลื่อนโฟกัสให้กับคอนโทรล
ให้เเลือกเมนู View > Tab Order
ซึ่งบนคอนโทรลแต่ละตัวจะขึ้นหมายเลข
Tab Order ให้เราคลิกเมาส์บนคอนโทรล
ตามลำดับ Tab Order ที่เราต้องการ
:: ไทเมอร์Timer
ไม่ได้เรียกว่า
Control แต่เรียกว่า Component
เพราะตัวมันไม่ได้แสดงให้ User เห็น
ให้เลือกจาก Tab Components
จุดประสงค์ของการใช้ไทเมอร์คือ
ให้มีการทำงานบางอย่างทุก ๆ
ช่วงเวลาที่เรากำหนด
ซึ่งจะช่วยให้การทำงานบางอย่างถูกทำแบบฉากหลังพร้อมกับมีโปรแกรมอื่นทำงานอยู่ด้วย
คุณสมบัติที่สำคัญของไทเมอร์
ชื่อคุณสมบัติ
|
คำอธิบาย
|
Interval |
เป็นคุณสมบัติที่บอกว่าต้องการให้เกิดอีเว็นต์
Tick
เว้นช่วงเวลาห่างกันเท่าไร
|
Enabled |
เป็นคุณสมบัติที่บอกว่า
ไทเมอร์นี้ทำงานได้ |
อีเว็นต์ที่สำคัญของไทเมอร์
ชื่อคุณสมบัติ
|
คำอธิบาย
|
Tick |
เป็นอีเว็นต์ที่เกิดขึ้นในทุกช่วงเวลาที่เราได้กำหนดไว้ในคุณสมบัติ
Interval |
ตัวอย่างโปรแกรมแสดงการใช้งานไทเมอร์
เมื่อเริ่มรันจะสั่งให้ปุ่มเคลื่อนที่ไปทางซ้ายทีละ
10 เมื่อกดปุ่มจะหยุด และกดที่ Form
จะเริ่มเคลื่อนที่ใหม่
แต่ถ้าปุ่มเลื่อนไปจนสุดหน้าจอก็จะเลื่อนกลับมา
Dim flag As Boolean
Private Sub
Timer1_Elapsed(ByVal sender
As Object, ByVal e As
System.Timers.ElapsedEventArgs)
Handles Timer1.Elapsed
If flag = False Then
Button1.Left =
Button1.Left + 10
If Button1.Left >
Me.Width Then
flag = True
End If
Else
If Button1.Left < 0
Then
flag = False
End If
Button1.Left =
Button1.Left - 10
End If
End Sub
Private Sub
Timer1_Elapsed(ByVal sender
As Object, ByVal e As
System.Timers.ElapsedEventArgs)
Handles Timer1.Elapsed
Button1.Left =
Button1.Left + 10
End Sub
Private Sub
Button1_Click(ByVal sender
As Object, ByVal e As
System.EventArgs) Handles
Button1.Click
Timer1.Stop()
End Sub
Private Sub
Form1_Click(ByVal sender As
Object, ByVal e As
System.EventArgs) Handles
MyBase.Click
Timer1.Start()
End Sub |
:: สกรอลบาร์
สกรอลบาร์จะใช้ในโอกาสที่ไม่สามารถแสดงผลข้อมูลทั้งหมดได้ในคราวเดียว
เนื่องจากมีพื้นที่ในการแสดงผลไม่เพียงพอ
คุณสมบัติที่สำคัญของสกรอลบาร์
ชื่อคุณสมบัติ
|
คำอธิบาย
|
Minimum |
เป็นค่าต่ำสุดที่เป็นไปได้ของสกรอลบาร์ |
Maximum |
เป็นค่าสูงสุดที่เป็นไปได้ของสกรอลบาร์ |
Value |
เป็นคุณสมบัติที่ตรงกับตำแหน่งของสกรอลบ็อกซ์ในสกรอลบาร์ |
SmallChange |
เป็นการบอกว่าคุณสมบัติ Value
จะมีค่าเปลี่ยนแปลงครั้งละเท่าไร
เมื่อเกิดการคลิกเมาส์ที่ปุ่มลูกศรของสกรอลบาร์ |
LargeChange |
เป็นการบอกว่าคุณสมบัติ Value
จะมีค่าเปลี่ยนแปลงไปเท่าไร
เมื่อมีการเปลี่ยนตำแหน่งของสกรอลบ็อกซ์
โดยการคลิกเมาส์ที่สกรอลบาร์ |
ValueChange |
เป็นอีเว็นต์ที่เกิดขึ้น
เมื่อค่าคุณสมบัติ Value
เปลี่ยน |
Scroll |
เป็นอีเว็นต์ที่เกิดขึ้น
เมื่อมีการเลื่อนปุ่มบนสกรอลบ็อกซ์
โดยไม่รวมการคลิกเมาส์
เลื่อนโดยปุ่มลูกศรของสกรอลบาร์กับการ
คลิกเมาส์ที่สกรอลบาร์
|
ตัวอย่างโปรแกรมแสดงการใช้งานสกรอลบาร์
ขั้นตอนการสร้างโปรแกรม
1. ให้วางคอนโทรลต่างๆ
และกำหนดคุณสมบัติของคอนโทรล ตามตาราง
ชนิดคอนโทรล
|
คุณสมบัติ
|
ค่าที่กำหนดให้
|
Form |
Text |
Form1 |
Name |
Form1 |
Label |
Name |
Label1 |
Text |
Radius |
AutoSize |
True |
Label |
Name |
Label2 |
Text |
Area |
AutoSize |
True |
TextBox |
Name |
TextBox1 |
Text |
TextBox1 |
TextBox |
Name |
TextBox2 |
Text |
TextBox2 |
HScrollBar |
Name |
HScrollBar1 |
Minimum |
0 |
Maximum |
100 |
Value |
0 |
2. ใส่คำสั่งโปรแกรมลงไปใน Code
Editor
Private Sub
HScrollBar1_Scroll(ByVal
sender As System.Object,
ByVal e As
System.Windows.Forms.ScrollEventArgs)
Handles HScrollBar1.Scroll
TextBox1.Text =
Format(HScrollBar1.Value,
"###.00")
TextBox2.Text =
Format((HScrollBar1.Value ^
2) * Math.PI, "###.00")
End Sub
Private Sub
hscrollbar1_valuechanged(ByVal
sender As Object, ByVal e As
System.EventArgs) Handles
HScrollBar1.ValueChanged
TextBox1.Text =
Format(HScrollBar1.Value,
"###.00")
TextBox2.Text =
Format((HScrollBar1.Value ^
2) * Math.PI, "###.00")
End Sub |
3. รันโปรแกรมที่สร้างมาจะได้ผลลัพธ์
|