วันพฤหัสบดีที่ 6 พฤศจิกายน พ.ศ. 2557

การเรียกใช้เมธอด

    การเรียกใช้เมธอดให้ระบุชื่อเมธอด พร้อมกำหนดค่าที่จะส่งให้แก่พารามิเตอร์ (ถ้าเมธอดนั้นมีพารามิเตอร์) ณ ตำแหน่งที่ต้องการใช้เมธอดนั้น เช่น เมื่อเกิดการคลิกที่ button1 แล้วเราต้องการให้เรียก เมธอด Calculate() หรือไม่ ShowMessage() ตามเงื่อนไข(สมมุติว่าได้สร้างเมธอดเหล่านี้เอาไว้) ก็กำหนดโค้ดดังนี้

 

  เมธอดที่เราได้สร้างไว้แล้วเมื่อเรียกใช้งานจะมีชื่อปรากฏใน IntelliSense ให้เราเลือกเช่นเดียวกับสมาชิกที่เป็นของ .NET เอง ในลักษณะดังนี้


   ในการเรียกใช้เมธอดข้อมูลที่จะส่งไปให้แก่เมธอด เราจะเรียกว่า Actual Parameter หรือเรียกอีกอย่างว่า อาร์กิวเมนต์ (Argument)แต่รูปแบบการรับข้อมูลที่กำหนดไว้ที่เมธอด เราเรียกว่า Formal Parameter หรือเรียกสั้นๆ ว่า พารามิเตอร์ (parameter) ดังรูปต่อไปนี้


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

ตัวอย่างที่ 4.1

    เป็นการทดสอบการสร้างและเรียกใช้งานเมธอดซึ่งหลักการโดยสังเขปมีดังนี้

สร้างเมธอด CheckInput() สำหรับตรวจสอบว่าข้อมูลที่พิมพ์ลงใน TextBox นั้นเป็นตัวเลขหรือไม่

สร้างเมธอด EnabledButton() สำหรับกาหนดสถานะของปุ่มว่าให้สามารถใช้งานได้หรือไม่

    เมื่อมีการเปลี่ยนแปลงข้อมูลที่ TextBox แต่ละอันซึ่งจะเกิดอีเวนต์ TextChaged โดยเราต้องใช้
อีเวนต์นี้ไปเรียกเมธอด CheckInput() เพื่อตรวจสอบว่าข้อมูลที่ใส่นั้นถูกต้องหรือไม่

   หลังการตรวจสอบข้อมูลใน TextBox เราก็จะเรียกเมธอด EnabledButton() มาทางานต่ออีกทีเพื่อกำหนดสถานะของ Buttonให้สัมพันธ์กับข้อมูลที่ใส่


สำหรับรายละเอียดปลีกย่อยอื่นๆ ก็ให้ดูเพิ่มเติมจากขั้นตอนต่อไปนี้

1. ออกแบบและกาหนดพร็อปเพอร์ตี้ดังรูปที่แล้ว

2. เข้าไปในมุมมองโค้ด แล้วสร้างเมธอดขึ้นมาดังนี้



 3. เมื่อเปิดฟอร์มขึ้นมาเราจะตรวจสอบสถานะของปุ่ม ด้วยการเรียกเมธอด EnabledButton() ขึ้นมา
     ทำงาน โดยดับเบิลคลิกที่ฟอร์มแล้วกำหนดโค้ดเพิ่มลงไปดังนี้


4. เมื่อเกิดการเปลี่ยนแปลงใน TextBox ให้ไปเรียกเมธอด CheckInput() ขึ้นมาทำงานพร้อมส่งชื่ออ้าง
    อิงของ TextBox ที่ต้องการตรวจสอบไปด้วยโดยดับเบิลคลิกที่ TextBox แต่ละอันแล้วกำหนดโค้ด
    ลงไปดังนี้


5. เมื่อรันโปรแกรม ถ้าเราใส่ข้อมูลใน TextBox อันใดไม่ใช่ตัวเลขจะมีคำเตือน และปุ่มก็จะไม่สามารถ
    ใช้งานได้ดังรูป แล้วให้ทดสอบดูว่า หากใส่ข้อมูลถูกต้องจะมีคำเตือนและปุ่มสามารถใช้งานได้ดังรูป
    แล้วให้ทดสอบว่าหากใส่ข้อมูลถูกต้อง จะมีคำเตือนและปุ่มสามารถใช้งานได้หรือไม่