أنواع التحكم Legacy ActiveX (Forms 2.0)
أنماط التحكم القديمة ActiveX (Forms 2.0)
العمل مع كائنات OLE والمحتوى المضمن يغطي كيفية الوصول إلى عنصر تحكم ActiveX Microsoft Forms 2.0 المضمن عبر OleFormat.OleControl وتحويله إلى الفئة المجردة Forms2OleControl الفئة الأساسية. Aspose.Words FOSS لـ .NET كما يكشف عن خمس فئات فرعية ذات نوعية قوية لأنواع عناصر التحكم المحددة التي يدعمها Word – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl، و MorphDataControl – كل واحدة في الـ Aspose.Words.Drawing.Ole namespace، إضافة عضو خاص بالتحكم فوق الخصائص 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) أو حاول تحويله إلى الفئة الفرعية المحددة التي تتوقعها، مثل CheckBoxControl أو TextBoxControl.
ما الفرق بين MorphDataControl وForms2OleControl؟
Forms2OleControl هو القاعدة المجردة لكل تحكم في Forms 2.0. MorphDataControl هو قاعدة مجردة أكثر تحديدًا، تمتد من Forms2OleControl، وتُشاركها أنواع التحكم مثل خانة الاختيار، صندوق القوائم المنسدلة، صندوق القائمة، زر الخيار، صندوق النص، وزر التبديل.
كيف يمكنني قراءة حالة الاختيار في عنصر التحكم خانة الاختيار؟
حوّل Forms2OleControl إلى CheckBoxControl ثم اقرأ خاصية Checked الخاصة به.
هل CommandButtonControl يمتد من MorphDataControl مثل الآخرين؟
لا – CommandButtonControl يرث Forms2OleControl مباشرةً، لأن زر الأمر ليس عنصر تحكم لإدخال البيانات.
API Reference ملخص
| الفئة | وصف |
|---|---|
MorphDataControl | قاعدة تجريدية لمربع الاختيار، مربع السرد، مربع القائمة، زر الخيار، مربع النص، وزر التبديل |
CheckBoxControl | عنصر تحكم مربع الاختيار؛ يمتد MorphDataControl؛ يضيف Checked |
OptionButtonControl | عنصر تحكم زر الخيار؛ يمتد MorphDataControl؛ يضيف Selected |
TextBoxControl | عنصر تحكم مربع النص؛ يمتد MorphDataControl؛ يضيف Text |
CommandButtonControl | عنصر تحكم زر الأوامر؛ يمتد Forms2OleControl مباشرة |