סוגי בקר Legacy ActiveX (Forms 2.0)
סוגי פקדים של ActiveX (Forms 2.0) מיושנים
עבודה עם אובייקטים של OLE ותוכן משובץ מתאר כיצד להגיע לבקרת Microsoft Forms 2.0 ActiveX משובצת דרך OleFormat.OleControl ולהמיר אותה למחלקה המופשטת Forms2OleControl מחלקת בסיס. Aspose.Words FOSS עבור .NET גם חושף חמש תתי-מחלקות חזקות-סוג עבור סוגי הבקרות הספציפיות ש-Word תומך בהן – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, ו MorphDataControl – כל אחת ב 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 הוא בסיס מצטבר לשישה סוגי בקרות קשורים – תיבת סימון, תיבת משולבת, תיבת רשימה, כפתור אפשרות, תיבת טקסט וכפתור מצב. 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) או נסה לבצע המרה (cast) לתת-מחלקה הספציפית שאתה מצפה, כגון CheckBoxControl או TextBoxControl.
מה ההבדל בין MorphDataControl ל-Forms2OleControl?
Forms2OleControl הוא הבסיס המופשט לכל בקר של Forms 2.0. MorphDataControl הוא בסיס מופשט יותר, המרחיב את Forms2OleControl, ומשותף לבקרי תיבת הסימון, תיבת המשנה, תיבת הרשימה, כפתור אפשרות, תיבת טקסט, וכפתור החלפה.
איך אני קורא למצב המסומן של בקר תיבת הסימון?
בצע המרה (cast) של Forms2OleControl ל-CheckBoxControl וקרא את המאפיין Checked שלו.
האם CommandButtonControl מרחיב את MorphDataControl כמו האחרים?
לא – CommandButtonControl מרחיב את Forms2OleControl ישירות, מכיוון שכפתור פקודה אינו פקד קלט נתונים.
API Reference סיכום
| מחלקה | תיאור |
|---|---|
MorphDataControl | בסיס מופשט עבור פקדי תיבת סימון, תיבת משולבת, תיבת רשימה, לחצן אפשרות, תיבת טקסט ולחצן מתג |
CheckBoxControl | בקרת תיבת סימון; מרחיב MorphDataControl; מוסיף Checked |
OptionButtonControl | בקרת כפתור אפשרות; מרחיב MorphDataControl; מוסיף Selected |
TextBoxControl | בקרת תיבת טקסט; מרחיב MorphDataControl; מוסיף Text |
CommandButtonControl | בקרת כפתור פקודה; מרחיב Forms2OleControl ישירות |