انواع کنترلهای 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 – هر یک در the 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 یک پایهٔ تجمیعی برای شش نوع کنترل مرتبط است — 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-only |
FAQ
چگونه میتوانم بفهمم کلاس کنترل بهصورت قویتایپ شدهی Forms2OleControl در واقع چیست؟
ویژگی Type آن را بخوانید (Forms2OleControlType) یا سعی کنید به زیرکلاس خاصی که انتظار دارید تبدیل کنید، مانند CheckBoxControl یا TextBoxControl.
تفاوت بین MorphDataControl و Forms2OleControl چیست؟
Forms2OleControl پایهٔ انتزاعی برای تمام کنترلهای Forms 2.0 است. MorphDataControl پایهٔ انتزاعی خاصتری است که خود از Forms2OleControl ارث میبرد و توسط انواع کنترلهای چکباکس، کمبوباکس، لیستباکس، گزینهدکمه، تکستباکس و دکمهٔ تغییر وضعیت بهاشتراک گذاشته میشود.
چگونه میتوانم وضعیت انتخاب شدهٔ یک کنترل چکباکس را بخوانم؟
Forms2OleControl را به CheckBoxControl تبدیل کنید و ویژگی Checked آن را بخوانید.
آیا CommandButtonControl همانند سایرین از MorphDataControl ارث میبرد؟
خیر – CommandButtonControl مستقیماً Forms2OleControl را گسترش میدهد، زیرا یک دکمه فرمان یک کنترل ورود داده نیست.
API Reference خلاصه
| کلاس | توضیح |
|---|---|
MorphDataControl | پایهٔ انتزاعی برای کنترلهای checkbox، combo box، list box، option button، text box و toggle button |
CheckBoxControl | کنترل Checkbox؛ MorphDataControl را گسترش میدهد؛ Checked را اضافه میکند |
OptionButtonControl | کنترل دکمه گزینه؛ از MorphDataControl گسترش مییابد؛ Selected را اضافه میکند |
TextBoxControl | کنترل جعبه متن؛ از MorphDataControl گسترش مییابد؛ Text را اضافه میکند |
CommandButtonControl | کنترل دکمه فرمان؛ مستقیماً از Forms2OleControl گسترش مییابد |