การใช้คอนโทรลพื้นฐาน

การสร้างแอพพลิเคชันด้วยคอนโทรลพื้นฐาน

ในการพัฒนาแอพพลิเคชัน สิ่งที่สำคัญที่สุดก็คือการสร้างส่วนที่ติดต่อกับ ผู้ใช้ในแบบกราฟิก หรือที่เรียกว่า Graphic User Interface (GUI) โดยใช้เครื่องมือที่เรียกว่า คอนโทรล (Control) ซึ่ง .NET จะมีคอนโทรลเป็นจำนวนมาก เพื่อใช้งานในวัตถุประสงค์ที่แตกต่างกัน เช่น คอนโทรลสำหรับการคลิกเพื่อสั่งงาน, คอนโทรลสำหรับการรับข้อมูล หรือ คอนโทรลสำหรับแสดงรายการให้เลือก เป็นต้น

คอนโทรล

คอนโทรล (Control) ถูกบรรจุอยู่ในกรอบ Toolbox ซึ่งอยู่ทางด้านซ้ายมือ หากไม่ปรากฏ Toolbox สามารถเลือกได้บนปุ่ม Toolbox บนทูลบาร์ หรือ เลือกจากเมนู View > Toolbox โดยจะเห็นToolbox ก็ต่อเมื่ออยู่ในมุมมองการออกแบบ (Design) เท่านั้น เมื่ออยู่ในมุมมองโค้ด (Code) จะทำให้Toolbox ถูกซ่อนไว้ชั่วคราว

ภายใน Toolbox จะแบ่งคอนโทรลออกเป็นหลายกลุ่ม เช่น Common Controls, Containers, Data, Menus & Toobars, Printing, Dialog เป็นต้น โดยปกติคอนโทรลแต่ละกลุ่มจะถูกซ่อนไว้ ปรากฏให้เห็นเพียงแค่ชื่อกลุ่มเท่านั้น ถ้าต้องการแสดงคอนโทรลในกลุ่มใด ให้คลิกที่แท็บชื่อกลุ่มนั้น และหากต้องการซ่อนก็ให้คลิกที่แท็บชื่อกลุ่มนั้นอีกครั้งหนึ่ง

พร็อพเพอร์ตี้ของคอนโทรล

พร็อพเพอร์ตี้ คือ คุณสมบัติหรือองค์ประกอบต่าง ๆ ของคอนโทรล เช่น ชื่อ, ขนาด, สีพื้นหลัง, ลักษณะตัวอักษร,ข้อความบนคอนโทรลนั้น เป็นต้น โดยคอนโทรลแต่ละชนิดอาจมีบางพร็อพเพอร์ตี้ที่เหมือน ๆ กัน และมีบางพร็อพเพอร์ตี้ที่เป็นลักษณะเฉพาะของคอนโทรลแต่ละตัว

พร็อพเพอร์ตี้ของคอนโทรลนั้นจะถูกแสดงไว้ที่ Properties Window ที่แสดงรายชื่อพร็อพเพอร์ตี้ และค่าของพร็อพเพอร์ตี้ที่กำหนดเอาไว้ของคอนโทรลที่ถูกเลือกอยู่ในขณะนั้น

หากไม่ปรากฏ Properties Window ให้เลือกจากเมนู View > Properties Window โดยรายชื่อพร็อพเพอร์ตี้จะปรากฏให้เห็นเมื่ออยู่ในมุมมองการออกแบบ (Design)

ปกติเมื่อวางคอนโทรลลงบนฟอร์ม โปรแกรมจะกำหนดค่าพร็อพเพอร์ตี้ของคอนโทรลนั้นตามค่า

Default ไว้ให้ล่วงหน้าแล้ว ซึ่งผู้พัฒนาโปรแกรมสามารถทำการเปลี่ยนแปลงค่านี้ใหม่ เป็นอย่างอื่นได้ 2

วิธี คือ

1. กำหนดที่ Properties Window ในขณะออกแบบ (Design) ซึ่งบางพร็อพเพอร์ตี้จะปรากฏการ

เปลี่ยนแปลงให้เห็นทันทีตั้งแต่ขณะออกแบบ

2. กำหนดที่ซอร์สโค้ด (Source Code) ของโปรแกรม ซึ่งการเปลี่ยนแปลงจะปรากฏให้เห็นเมื่อ

รันโปรแกรมเท่านั้น

พร็อพเพอร์ตี้ของคอนโทรล จะมีแบบที่เหมือน ๆ กัน ในคอนโทรลหลาย ๆ ชนิด และแบบที่

เป็นลักษณะเฉพาะของคอนโทรลบางชนิด เช่น พร็อพเพอร์ตี้ Text จะมีในคอนโทรลส่วนใหญ่ แต่พร็อพ

เพอร์ตี้ Checked จะมีเฉพาะคอนโทรลประเภทตัวเลือก เป็นต้น

พร็อพเพอร์ตี้ Name

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

พร็อพเพอร์ตี้ Text และ Text Align

พร็อพเพอร์ตี้ Text เป็นข้อความที่ปรากฏบนคอนโทรลนั้นกรณีที่ต้องการใส่ข้อความหลาย ๆ บรรทัด ให้คลิกเปิด Drop Downตรงพร็อพเพอร์ตี้ Text แล้วใส่ข้อความ ถ้าต้องการขึ้นบรรทัดใหม่ตรงจุดใดให้กด Enter พร็อพเพอร์ตี้ TextAlign จะเป็นการจัดข้อความให้อยู่ในตำแหน่งใดของคอนโทรล ซึ่งตัวเลือกจะมีดังนี้

พร็อพเพอร์ตี้ BackColor และ ForeColor

พร็อพเพอร์ตี้ BackColor ใช้สำหรับกำหนดสีพื้นหลัง ส่วนพร็อพเพอร์ตี้ ForeColor ใช้สำหรับกำหนดสีตัวอักษรบนคอนโทรล

ในกรณีที่ต้องการกำหนดพร็อพเพอร์ตี้ BackColor และ ForeColor โดยการเขียนโค้ด จะกำหนดโดยการใช้ Class Color ซึ่งคลาสนี้มีพร็อพเพอร์ตี้ที่เป็นชื่อสีให้เลือกใช้แบบง่าย ๆ หรือมีเมธอดที่สามารกำหนดค่าสีตามรูปแบบที่ต้องการได้

เช่น

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.BackColor = Color.GreenYellow

Label1.ForeColor = Color.FromName("Blue")

Button1.ForeColor = Color.FromArgb(255, 0, 0)

End Sub

พร็อพเพอร์ตี้ Font

พร็อพเพอร์ตี้ Font ใช้ในการกำหนดรูปแบบตัวอักษรของคอนโทรล ซึ่งอาจกำหนดในระหว่างการออกแบบ (Design ) หรือโดยการเขียนโค้ด ถ้าต้องการกำหนดโดยการเขียนโค้ดโปรแกรมจะต้องสร้าง Object ของ คลาส Font เพื่อกำหนดรูปแบบตัวอักษรก่อน แล้วจึงนำมากำหนดให้กับพร็อพเพอร์ตี้ Font ของคอนโทรล

การใช้คลาส Font จะต้องสร้างออบเจ็กต์ก่อน โดยมีรูปแบบคอนสตรักเตอร์ ดังนี้

Font (ชนิดตัวอักษร, ขนาด, รูปแบบ)

- ชนิดตัวอักษร (Font Family) ต้องกำหนดในรูปแบบสตริง เช่น “Tahoma”

- ขนาด (Size) กำหนดให้ตัวเลข

- รูปแบบ (FontStyle) เช่น ตัวหนา, ตัวเอียง ถ้ากำหนดหลาย ๆ แบบรวมกัน ต้องใช้

โอเปอร์เรเตอร์ Or เช่น FontStyle.Bold Or FontStyle.Italic

ตัวอย่าง

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim f1 As New Font("JasmineUPC", 20, FontStyle.Italic Or

FontStyle.Underline) Label1.Font = f1

End Sub

พร็อพเพอร์ตี้ Enabled

พร้อพเพอร์ตี้ Enabled ใช้กำหนดว่าคอนโทรลนั้นสามารถใช้งานได้หรือไม่ ถ้ากำหนดเป็น False จะไม่สามารถใช้งานได้

เช่น

If (TextBox1.Text = “ ”) Then

Button1.Enabled = False

Else

Button1.Enabled = True

End If

อีเวนต์ของคอนโทรล

อีเวนต์ของคอนโทรล คือ เหตุการณ์ที่เกิดขึ้นเมื่อมีการกระทำ ใด ๆ กับ คอนโทรลตามอีเวนต์ที่กำหนด เช่น เมื่อมีการคลิกที่ปุ่มแล้วให้นำข้อมูลที่ผู้ใช้ใส่เข้ามาไปประมวลผล หรืออีเวนต์ที่เกิดเมื่อมีการโหลดฟอร์ม

อีเวนต์สามารถเกิดได้หลายลักษณะ เช่น การคลิกเมาส์, การเคลื่อนย้ายเมาส์เข้า / ออกจากคอนโทรล , การกดปุ่มคีย์บอร์ด หรือ การเปลี่ยนแปลงการเลือกรายการ เป็นต้น ซึ่งบางอีเวนต์ก็อาจเกิดขึ้นได้กับคอนโทรลหลายชนิด แต่บางอีเวนต์ก็อาจเกิดกับ เพียงบางคอนโทรลเท่านั้น

คอนโทรลแต่ละตัวจะเกิด Event ได้หลายอย่าง การตรวจสอบว่าคอนโทรลเกิดอีเวนต์อะไรได้บ้าง สามารถตรวจสอบได้ที่ Properties Windows โดยคลิกที่ปุ่มรูปสายฟ้าจะปรากฏ Event ใน Properties Windows ดังรูป

ตัวจัดการ Event

การตอบสนองต่ออีเวนต์ จะเขียนไว้ในโปรซีเยอร์แบบ Sub โดยมีคีย์เวิร์ด Handles เป็น

ตัวบ่งชี้ว่าโพรซีเยอร์นี้จะถูกเรียกใช้เมื่อเกิดอีเวนต์อะไร

เช่น

Private Sub Form1_Click (ByVal sender As Object, ByVal e As System.EventArgs)

Handles Me.Click

.

.

.

End Sub

โดยทั่วไปแล้วโพรซีเยอร์ที่จะถูกเรียกขึ้นมาทา งานเมื่อเกิดอีเวนต์ จะเรียกว่าเป็น “ตัวจัดการอีเวนต์

(Event Handler)” หรือ เรียกสั้น ๆ ว่า handler