การใช้เหตุการณ์ค่อนข้างง่าย ก่อนที่จะใช้งาน เราต้องกำหนดเหตุการณ์ก่อน ซึ่งหมายถึงการแจ้ง Visual Basic ว่าเหตุการณ์เรียกว่าอะไร เหตุการณ์อาจมีพารามิเตอร์ของตัวเอง ตัวอย่างเช่น ปุ่ม Command มีเหตุการณ์ Click ซึ่งไม่มีพารามิเตอร์ นอกจากนี้ กล่องแก้ไขข้อความยังมีเหตุการณ์ KeyPRess ซึ่งจัดการเนื้อหาที่เกี่ยวข้องผ่านค่าที่เรียกว่า "KeyAscii"
หากต้องการกำหนดเหตุการณ์ ให้เพิ่มโค้ดที่คล้ายกับข้อความต่อไปนี้ในส่วนการประกาศทั่วไปของชั้นเรียน:
จากนั้นเรียกเมธอด RaiseEvent ในโค้ดเพื่อเริ่มเหตุการณ์ เช่นเดียวกับรหัสต่อไปนี้:
เพื่อให้อธิบายกระบวนการข้างต้นในการเพิ่มและเริ่มทำงานเหตุการณ์ได้ดีขึ้น เรามาลองดูตัวอย่างกัน ขั้นแรก ให้กำหนดเหตุการณ์:
เพิ่มรหัสต่อไปนี้ในส่วนการประกาศทั่วไปของคลาสCDog:
เพิ่มกระบวนการย่อย Sleep ในคลาส CDog:
ในโค้ด มีการวนซ้ำที่ไม่มีประโยชน์จำนวน 1,000,000 ครั้งในช่วงเริ่มต้น หลังจากที่คอมพิวเตอร์หยุดชั่วคราว กระบวนการย่อยโหมดสลีปจะทริกเกอร์เหตุการณ์ Awake
แต่หลังจากเหตุการณ์ Awake เกิดขึ้น เราควรปล่อยให้โปรแกรมตอบสนองตามนั้นหรือไม่? แน่นอนว่าการใช้ปุ่มคำสั่งนั้นง่ายที่สุด เพียงแค่เลือกวัตถุปุ่มคำสั่งในรายการในหน้าต่างโค้ด
แต่ในกรณีนั้น เราจำเป็นต้องมีการควบคุมอย่างแน่นอน และทุกสิ่งที่เราเห็นก็อยู่ในรูปแบบ ที่นี่เราใช้รหัสที่เกี่ยวข้องเพียงอย่างเดียวและจะมองไม่เห็น
แน่นอนว่าการใช้โค้ดเพื่อรับเหตุการณ์จำเป็นต้องมีการดำเนินการเพิ่มเติม:
ในส่วนการประกาศทั่วไปของหน้าต่างรหัสแบบฟอร์ม เพิ่มรหัสต่อไปนี้:
รหัสนี้แตกต่างจากการประกาศ MyDog ก่อนหน้านี้ มีคำสำคัญ WithEvents เพื่อแจ้ง Visual Basic ว่าวัตถุสามารถรับเหตุการณ์ใด ๆ และวัตถุจะต้องได้รับเหตุการณ์
ลบรหัสทั้งหมดในปุ่มคำสั่ง และเพิ่มรหัสต่อไปนี้ใน Command1:
รหัสเพียงตั้งค่า MyDog เป็นอินสแตนซ์ใหม่ของ CDog ตั้งชื่อ เรียก Bark และสุดท้ายก็รันกระบวนการย่อย Sleep
ตอนนี้ให้เพิ่มโค้ดเพื่อตอบสนองต่อเหตุการณ์ Awake
ในหน้าต่างรหัสแบบฟอร์ม ให้เลือก "MyDog" จากรายการแบบเลื่อนลงวัตถุ
ในเหตุการณ์ "Awake" ของ "MyDog" ให้เพิ่มโค้ดต่อไปนี้:
เอาล่ะ ถึงเวลาทดสอบแล้ว
กด F5 เพื่อรันโปรแกรม
คลิกปุ่มคำสั่ง;
ด้วยวิธีนี้ เมื่อลูกสุนัขเห่า เขาจะเริ่มงีบหลับและคุณตื่นขึ้นมาในที่สุด มันน่าทึ่งมาก!
-