ประเภทคอนโทรล Legacy ActiveX (Forms 2.0)

ประเภทคอนโทรล Legacy ActiveX (Forms 2.0)

รุ่นเก่า ActiveX (Forms 2.0) ประเภทการควบคุม

ทำงานกับอ็อบเจกต์ OLE และเนื้อหาแบบฝัง อธิบายวิธีการเข้าถึงคอนโทรล Microsoft Forms 2.0 ActiveX ที่ฝังอยู่ผ่าน OleFormat.OleControl และแปลงเป็นคลาสฐานแบบนามธรรม Forms2OleControl คลาสฐาน. Aspose.Words FOSS สำหรับ .NET ยังเปิดเผยคลาสย่อยแบบ strongly-typed จำนวนห้าชนิดสำหรับประเภทคอนโทรลเฉพาะที่ Word รองรับ – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, และ MorphDataControl – แต่ละใน the Aspose.Words.Drawing.Ole เนมสเปซ, เพิ่มสมาชิกเฉพาะคอนโทรลหนึ่งตัวเหนือคุณสมบัติ Forms2OleControl มีให้แล้ว (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).


CheckBoxControl และ OptionButtonControl

CheckBoxControl สืบทอด MorphDataControl และเพิ่ม Checked (เป็น bool) สำหรับสถานะเปิด/ปิดของคอนโทรล. OptionButtonControl ยังสืบทอด MorphDataControl และเพิ่ม Selected (เป็น bool) – ใช้สำหรับชุดของปุ่มตัวเลือกที่เป็นเอกพจน์ซึ่งแชร์ GroupName เดียวกัน.


TextBoxControl

TextBoxControl สืบทอด MorphDataControl และเพิ่ม Text (เป็น string), ข้อความที่แสดงและสามารถแก้ไขได้ของคอนโทรล.


CommandButtonControl

CommandButtonControl สืบทอดจาก Forms2OleControl โดยตรง (ไม่ใช่ MorphDataControl) และมีคอนสตรัคเตอร์ของตนเอง มันเป็นปุ่มที่รันมาโครเมื่อคลิกใน Word โดยป้ายชื่อปุ่มจะเปิดเผยผ่านคุณสมบัติ Caption ที่สืบทอดมา.


MorphDataControl: ฐานร่วมสำหรับคอนโทรลการป้อนข้อมูล

MorphDataControl เป็นฐานรวมสำหรับหกประเภทคอนโทรลที่เกี่ยวข้อง – checkbox, combo box, list box, option button, text box, และ toggle button. CheckBoxControl, OptionButtonControl, และ TextBoxControl แต่ละตัวสืบทอดจากมัน, รับมรดกสมาชิกและเพิ่มคุณสมบัติเฉพาะประเภทหนึ่งของตนเอง.


เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด

  • อ่าน Forms2OleControl.Type (ค่าประเภท Forms2OleControlType) เพื่อระบุคอนโทรลก่อนที่จะทำการแคสท์เป็นหนึ่งในซับคลาสเฉพาะ – ไม่ใช่ทุก Forms2OleControl จะเป็นหนึ่งในห้าซับคลาสที่มีการระบุประเภทอย่างชัดเจนที่อธิบายไว้ที่นี่.
  • ใช้ GroupName เพื่อเชื่อมโยงหลายอินสแตนซ์ของ OptionButtonControl ให้เป็นชุดที่ไม่ซ้ำกันกัน, ตรงกับวิธีที่ Word จัดกลุ่มปุ่มตัวเลือก.
  • เข้าถึงคอนโทรลที่ซ้อนกันภายในเฟรมหรือคอนเทนเนอร์หลายหน้าได้ผ่าน ChildNodes ที่สืบทอดมา (เป็น Forms2OleControlCollection), ไม่ว่าจะเป็นซับคลาสใดของคอนเทนเนอร์.

ปัญหาทั่วไป

ปัญหาสาเหตุแก้ไข
การแคสต์ Forms2OleControl เป็น CheckBoxControl จะทำให้เกิด InvalidCastExceptionคอนโทรลเป็นประเภทคอนโทรล Forms 2.0 ที่แตกต่าง (เช่น TextBoxControl หรือ OptionButtonControl)ตรวจสอบ Forms2OleControl.Type ก่อนแคสต์เป็นซับคลาสเฉพาะ
OptionButtonControl.Selected ไม่ทำงานเป็นแบบแยกจากกันกับคอนโทรลพี่น้องคอนโทรลไม่ได้ใช้ GroupName เดียวกันกำหนดค่า GroupName เดียวกันให้กับทุก OptionButtonControl ในชุด
CommandButtonControl.Caption ว่างคำบรรยายของปุ่มมาจาก Forms2OleControl.Caption ที่สืบทอดมา ไม่ใช่คุณสมบัติที่เฉพาะเจาะจงของ CommandButtonControlอ่าน Caption ไม่ใช่สมาชิกที่มีเฉพาะ CommandButtonControl ซึ่งไม่มีอยู่

FAQ

ฉันจะทราบได้อย่างไรว่า Forms2OleControl จริงๆ แล้วเป็นคลาสคอนโทรลที่มีการพิมพ์อย่างเข้มข้นประเภทใด?

อ่านคุณสมบัติ Type ของมัน (Forms2OleControlType) หรือพยายามทำการแคสต์เป็นซับคลาสเฉพาะที่คุณคาดหวัง เช่น CheckBoxControl หรือ TextBoxControl.

ความแตกต่างระหว่าง MorphDataControl กับ Forms2OleControl คืออะไร?

Forms2OleControl คือฐานเชิงนามธรรมสำหรับคอนโทรล Forms 2.0 ทุกตัว. MorphDataControl เป็นฐานเชิงนามธรรมที่เฉพาะเจาะจงมากขึ้น ซึ่งขยายจาก Forms2OleControl เอง, ใช้ร่วมกันโดยคอนโทรลประเภท checkbox, combo box, list box, option button, text box, และ toggle button.

ฉันจะอ่านสถานะการเลือกของคอนโทรล checkbox ได้อย่างไร?

ทำการแคสต์ Forms2OleControl ไปเป็น CheckBoxControl แล้วอ่านคุณสมบัติ Checked ของมัน.

โดย CommandButtonControl ขยายจาก MorphDataControl เหมือนกับอันอื่น ๆ หรือไม่?

ไม่ – CommandButtonControl ขยาย Forms2OleControl โดยตรง เนื่องจากปุ่มคำสั่งไม่ใช่คอนโทรลการป้อนข้อมูล.


API Reference สรุป

คลาสคำอธิบาย
MorphDataControlฐานเชิงนามธรรมสำหรับคอนโทรล checkbox, combo box, list box, option button, text box, และ toggle button
CheckBoxControlคอนโทรลเช็คบ็อกซ์; ขยายจาก MorphDataControl; เพิ่ม Checked
OptionButtonControlคอนโทรลปุ่มเลือก; ขยายจาก MorphDataControl; เพิ่ม Selected
TextBoxControlคอนโทรลกล่องข้อความ; ขยายจาก MorphDataControl; เพิ่ม Text
CommandButtonControlคอนโทรลปุ่มคำสั่ง; ขยายโดยตรงจาก Forms2OleControl

ดูเพิ่มเติม

 ภาษาไทย