บทที่ 3
การสร้างแอพพลิเคชันด้วยคอนโทรลพื้นฐาน
การสร้างแอพพลิเคชันด้วยคอนโทรลพื้นฐาน
ในการพัฒนาแอพพลิเคชัน สิ่งที่สำคัญที่สุดก็คือการสร้างส่วนที่ติดต่อกับผู้ใช้ในแบบกราฟิกส์ หรือที่เรียกว่า Graphic User Interface (GUI) โดยใช้เครื่องมือที่เรียกว่า คอนโทรล (Control) ซึ่ง .NET จะมีคอนโทรลเป็นจำนวนมาก เพื่อใช้งานในวัตถุประสงค์ที่แตกต่างกัน
เช่น คอนโทรลสำหรับการคลิกเพื่อสั่งงาน, คอนโทรลสำหรับการับข้อมูล หรือ คอนโทรลสำหรับแสดงรายการให้เลือก เป็นต้น
เช่น คอนโทรลสำหรับการคลิกเพื่อสั่งงาน, คอนโทรลสำหรับการับข้อมูล หรือ คอนโทรลสำหรับแสดงรายการให้เลือก เป็นต้น
3.1 Control
คอนโทรล (Control) ถูกบรรจุอยู่ในกรอบ Toolbox ซึ่งอยู่ทางด้านซ้ายมือ หากไม่ปรากฏ
ปุ่ม
บนทูลบาร์ หรือ เลือกจากเมนู View > Toolbox โดยจะเห็น Toolbox ก็ต่อเมื่ออยู่ในมุมมองการออกแบบ (Design) เท่านั้น เมื่ออยู่ในมุมมองโค้ด (Code) จะทำให้ Toolbox ถูกซ่อนไว้ชั่วคราว
ภายใน Toolbox จะแบ่งคอนโทรลออกเป็นหลายกลุ่ม เช่น Common Controls, Containers, Data, Menus & Toobars, Printing, Dialog เป็นต้น โดยปกติคอนโทรลแต่ละกลุ่มจะถูกซ่อนไว้ ปรากฏให้เห็นเพียงแค่ชื่อกลุ่มเท่านั้น ถ้าต้องการแสดงคอนโทรลในกลุ่มใด ให้คลิกที่แท็บชื่อกลุ่มนั้น และหากต้องการซ่อนก็ให้คลิกที่แท็บชื่อกลุ่มนั้นอีกครั้งหนึ่ง
3.2 พร็อพเพอร์ตี้ของคอนโทรล
พร็อพเพอร์ตี้ คือ คุณสมบัติหรือองค์ประกอบต่าง ๆ ของคอนโทรล เช่น ชื่อ, ขนาด, สีพื้นหลัง, ลักษณะตัวอักษร, ข้อความบนคอนโทรลนั้น เป็นต้น
โดยคอนโทรลแต่ละชนิดอาจมีบางพร็อพเพอร์ตี้ที่เหมือน ๆ กัน และมีบางพร็อพเพอร์ตี้ที่เป็นลักษณะเฉพาะของคอนโทรลแต่ละตัว

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

พร็อพเพอร์ตี้ คือ คุณสมบัติหรือองค์ประกอบต่าง ๆ ของคอนโทรล เช่น ชื่อ, ขนาด, สีพื้นหลัง, ลักษณะตัวอักษร, ข้อความบนคอนโทรลนั้น เป็นต้น
โดยคอนโทรลแต่ละชนิดอาจมีบางพร็อพเพอร์ตี้ที่เหมือน ๆ กัน และมีบางพร็อพเพอร์ตี้ที่เป็นลักษณะเฉพาะของคอนโทรลแต่ละตัว
พร็อพเพอร์ตี้ของคอนโทรลนั้นจะถูกแสดงไว้ที่ Properties Window ที่แสดงรายชื่อพร็อพเพอร์ตี้ และค่าของพร็อพเพอร์ตี้ที่กำหนดเอาไว้ของคอนโทรลที่ถูกเลือกอยู่ในขณะนั้น
หากไม่ปรากฏ Properties Window ให้เลือกจากเมนู View > Properties Window หรือ คลิกที่ปุ่ม
โดยรายชื่อพร็อพเพอร์ตี้จะปรากฏให้เห็นเมื่ออยู่ในมุมมองการออกแบบ (Design)
ปกติเมื่อวางคอนโทรลลงบนฟอร์ม โปรแกรมจะกำหนดค่าพร็อพเพอร์ตี้ของคอนโทรลนั้นตามค่า Default ไว้ให้ล่วงหน้าแล้ว ซึ่งผู้พัฒนาโปรแกรมสามารถทำการเปลี่ยนแปลงค่านี้ใหม่ เป็นอย่างอื่นได้ 2 วิธี คือ
1. กำหนดที่ Properties Window ในขณะออกแบบ (Design) ซึ่งบางพร็อพเพอร์ตี้จะปรากฏการเปลี่ยนแปลงให้เห็นทันทีตั้งแต่ขณะออกแบบ
2. กำหนดที่ซอร์สโค้ด (Source Code) ของโปรแกรม ซึ่งการเปลี่ยนแปลงจะปรากฏให้เห็นเมื่อรันโปรแกรมเท่านั้น
พร็อพเพอร์ตี้ของคอนโทรล จะมีแบบที่เหมือน ๆ กัน ในคอนโทรลหลาย ๆ ชนิด และแบบที่เป็นลักษณะเฉพาะของคอนโทรลบางชนิด เช่น พร็อพเพอร์ตี้ Text จะมีในคอนโทรลส่วนใหญ่ แต่พร็อพเพอร์ตี้ Checked จะมีเฉพาะคอนโทรลประเภทตัวเลือก เป็นต้น

ปกติเมื่อวางคอนโทรลลงบนฟอร์ม โปรแกรมจะกำหนดค่าพร็อพเพอร์ตี้ของคอนโทรลนั้นตามค่า Default ไว้ให้ล่วงหน้าแล้ว ซึ่งผู้พัฒนาโปรแกรมสามารถทำการเปลี่ยนแปลงค่านี้ใหม่ เป็นอย่างอื่นได้ 2 วิธี คือ
1. กำหนดที่ Properties Window ในขณะออกแบบ (Design) ซึ่งบางพร็อพเพอร์ตี้จะปรากฏการเปลี่ยนแปลงให้เห็นทันทีตั้งแต่ขณะออกแบบ
2. กำหนดที่ซอร์สโค้ด (Source Code) ของโปรแกรม ซึ่งการเปลี่ยนแปลงจะปรากฏให้เห็นเมื่อรันโปรแกรมเท่านั้น
พร็อพเพอร์ตี้ของคอนโทรล จะมีแบบที่เหมือน ๆ กัน ในคอนโทรลหลาย ๆ ชนิด และแบบที่เป็นลักษณะเฉพาะของคอนโทรลบางชนิด เช่น พร็อพเพอร์ตี้ Text จะมีในคอนโทรลส่วนใหญ่ แต่พร็อพเพอร์ตี้ Checked จะมีเฉพาะคอนโทรลประเภทตัวเลือก เป็นต้น
พร็อพเพอร์ตี้ Name
Name เป็นชื่อหรืออินสแตนซ์ที่ใช้ในการอ้างถึงคอนโทรลในการเขียนโปรแกรม เมื่อนำคอนโทรลมาวางบนฟอร์ม โปรแกรมจะกำหนดชื่อให้ไว้ล่วงหน้า ผู้พัฒนาโปรแกรมควรทำการเปลี่ยนชื่อเพื่อให้สื่อความหมาย โดยจะต้องไม่ซ้ำกับชื่อคอนโทรลอื่น ๆ ที่อยู่บนฟอร์ม
Name เป็นชื่อหรืออินสแตนซ์ที่ใช้ในการอ้างถึงคอนโทรลในการเขียนโปรแกรม เมื่อนำคอนโทรลมาวางบนฟอร์ม โปรแกรมจะกำหนดชื่อให้ไว้ล่วงหน้า ผู้พัฒนาโปรแกรมควรทำการเปลี่ยนชื่อเพื่อให้สื่อความหมาย โดยจะต้องไม่ซ้ำกับชื่อคอนโทรลอื่น ๆ ที่อยู่บนฟอร์ม
3.3 อีเวนต์ของคอนโทรล
อีเวนต์ของคอนโทรล คือ เหตุการณ์ที่เกิดขึ้นเมื่อมีการกระทำใด ๆ กับคอนโทรลตามอีเวนต์ที่กำหนด เช่น เมื่อมีการคลิกที่ปุ่มแล้วให้นำข้อมูลที่ผู้ใช้ใส่เข้ามาไปประมวลผล
หรืออีเวนต์ที่เกิดเมื่อมีการโหลดฟอร์ม
อีเวนต์สามารถเกิดได้หลายลักษณะ เช่น การคลิกเมาส์, การเคลื่อนย้ายเมาส์เข้า / ออกจากคอนโทรล , การกดปุ่มคีย์บอร์ด หรือ การเปลี่ยนแปลงการเลือกรายการ เป็นต้น ซึ่งบางอีเวนต์ก็อาจเกิดขึ้นได้กับคอนโทรลหลายชนิด แต่บางอีเวนต์ก็อาจเกิดกับเพียงบางคอนโทรลเท่านั้น
คอนโทรลแต่ละตัวจะเกิด 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
Private Sub Form1_Click (ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
.
.
.
End Sub
โดยทั่วไปแล้วโพรซีเยอร์ที่จะถูกเรียกขึ้นมาทำงานเมื่อเกิดอีเวนต์ จะเรียกว่าเป็น “ตัวจัดการอีเวนต์ (Event Handler)” หรือ เรียกสั้น ๆ ว่า handler
3.4 การใช้งานคอนโทรลกับฟอร์ม
คอนโทรล Button 



คอนโทรล Button เป็นปุ่มกดสำหรับการทำงานบางอย่าง จัดได้ว่าเป็นคอนโทรลที่มีการใช้งานมากที่สุด
อีเวนต์ของคอนโทรล Button มีดังนี้
Click | เกิดเมื่อมีการคลิกที่ Button |
ตัวอย่างการใช้ปุ่ม Button
1. สร้าง Project ใหม่
2. นำ Button มาวางตามรูป

1. สร้าง Project ใหม่
2. นำ Button มาวางตามรูป

ตั้งชื่อใหม่ให้กับปุ่ม ดังนี้
คอนโทรล |
พร็อพเพอร์ตี้
|
ค่า
|
Button1
| Name | btnEnterdata |
Text | ใส่ข้อมูล | |
Button2
| Name | btnContinue |
Text | ดำเนินการต่อไป | |
Button3
| Name | btnExit |
Text | เลิกงาน |
ที่มาhttp://61.19.212.44/~s53114sasitron/htdoc/u11.html