เราสามารถสะสมค่าไว้ใน class ได้ไหมครับ? c#


ผมมี check box อยู่ 2 กล่อง กำหนดไว้ว่าถ้าทำการกดเช็คถูกที่ check box แล้วจะส่งค่าไปให้คลาสเก็บไว้ในตัวแปร Array ซึ่งการส่งค่าครั้งแรกสามารถส่งได้สำเร็จครับ แต่พอผมกดเช็คถูกที่ check box กล่องที่ 2 ค่าแรกในคลาสหายไปแล้วครับ หายไปก่อนจะเพิ่มค่าใน Array ครั้งที่ 2 เสียอีก




[ UserControl ]  โค้ดส่งค่าจาก check box ไปให้กับคลาส




[ Class ]  โค้ดเอาค่าที่ได้ มาใส่ใน Array ของคลาส




รบกวนสละเวลา 1.22 นาที ดูคลิปตอนรันโค้ดนิดนึงครับ จะได้มองเห็นปัญหาแบบชัดๆ

คลิกเพื่อดูคลิปวิดีโอ



คำถามคือ เราสามารถสะสมค่าไว้ในคลาสได้ไหมครับ? ถ้าสะสมค่าได้ ผมเขียนคำสั่งตรงไหนผิดหรือขาดคำสั่งอะไรไป ขอคำชี้แนะด้วยครับ  เพี้ยนขอบคุณ
แก้ไขข้อความเมื่อ

คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 9
ตอนนี้แก้ปัญหาได้แล้วนะครับ หลังจากมีคนหลังไมค์มาช่วยผม (ซาบซึ้งจริงๆครับ)

กลับมาใช้วิธีสะสมค่าไว้ใน Class โดยการใส่ Static ให้กับตัวแปรและเมธอด เพื่อให้เข้าถึงได้โดยตรง ไม่ต้องสร้าง Object ทุกครั้งที่เรียกใช้

รูปนี้เป็นโค้ดของ Class ครับ


รูปนี้เป็นโค้ด Event ของ CheckBox ที่อยู่ใน UserControl ครับ

ผลที่ออกมาคือ ตัวแปรใน Class สามารถสะสมค่าไว้ได้ครับ ฟอร์มหลักก็สามารถเรียกใช้ตัวแปรใน Class ที่มีค่าสะสมอยู่ได้

ขอบคุณทุกๆคนที่เข้ามาช่วยนะครับ ซารางเฮ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่