Tipuri de control ActiveX (Forms 2.0) moștenite
Tipuri de control ActiveX (Forms 2.0) moștenite
Lucrul cu obiecte OLE și conținut încorporat acoperă cum să accesezi un control ActiveX Microsoft Forms 2.0 încorporat prin OleFormat.OleControl și să îl convertești la abstract Forms2OleControl clasa de bază. Aspose.Words FOSS pentru .NET expune, de asemenea, cinci subclase puternic tipizate pentru tipurile de control specifice pe care le suportă Word – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, și MorphDataControl – fiecare în the Aspose.Words.Drawing.Ole namespace, adăugând un membru specific controlului peste proprietăți Forms2OleControl deja oferă (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).
CheckBoxControl și OptionButtonControl
CheckBoxControl extinde MorphDataControl și adaugă Checked (un bool) pentru starea pornit/oprit a controlului. OptionButtonControl de asemenea extinde MorphDataControl și adaugă Selected (un bool) – utilizat pentru un set de butoane de opțiune mutual exclusive care împărtășesc același GroupName.
TextBoxControl
TextBoxControl extinde MorphDataControl și adaugă Text (un string), textul afișat și editabil al controlului.
CommandButtonControl
CommandButtonControl extinde Forms2OleControl direct (nu MorphDataControl) și are propriul său constructor. Reprezintă un buton care rulează o macro atunci când este apăsat în Word, cu eticheta butonului expusă prin proprietatea moștenită Caption.
MorphDataControl: Baza partajată pentru controalele de introducere a datelor
MorphDataControl este o bază agregată pentru șase tipuri de controale înrudite – casetă de selectare, casetă combo, casetă listă, buton de opțiune, casetă text și buton comutare. CheckBoxControl, OptionButtonControl și TextBoxControl extind fiecare aceasta, moștenind membrii săi și adăugând câte o proprietate specifică tipului lor.
Sfaturi și practici recomandate
- Citiți
Forms2OleControl.Type(o valoareForms2OleControlType) pentru a identifica un control înainte de a-l converti într-una dintre subclasele specifice – nu fiecareForms2OleControleste una dintre cele cinci subclase puternic tipizate descrise aici. - Utilizați
GroupNamepentru a asocia mai multe instanțeOptionButtonControlîntr-un singur set mutual exclusiv, corespunzător modului în care Word grupează butoanele de opțiune. - Accesați controalele imbricate dintr-un cadru sau container cu mai multe pagini prin
ChildNodesmoștenit (unForms2OleControlCollection), indiferent de subclasa containerului.
Probleme comune
| Problemă | Cauză | Remediere |
|---|---|---|
Convertirea unui Forms2OleControl în CheckBoxControl aruncă un InvalidCastException | Controlul este de un alt tip de control Forms 2.0 (de exemplu un TextBoxControl sau OptionButtonControl) | Verificați Forms2OleControl.Type înainte de a converti la o subclasă specifică |
OptionButtonControl.Selected nu se comportă ca fiind exclusiv reciproc cu controalele înrudite | Controalele nu au același GroupName | Setați aceeași valoare GroupName pentru fiecare OptionButtonControl din set |
CommandButtonControl.Caption este gol | Eticheta butonului provine din Forms2OleControl.Caption moștenit, nu dintr-o proprietate specifică CommandButtonControl | Citiți Caption, nu un membru inexistent disponibil doar pentru CommandButtonControl |
FAQ
Cum pot să știu ce clasă de control puternic tipizată este de fapt un Forms2OleControl?
Citește proprietatea Type (Forms2OleControlType) sau încearcă un cast către subclasa specifică pe care o aștepți, cum ar fi CheckBoxControl sau TextBoxControl.
Care este diferența dintre MorphDataControl și Forms2OleControl?
Forms2OleControl este baza abstractă pentru fiecare control Forms 2.0. MorphDataControl este o bază abstractă mai specifică, care extinde Forms2OleControl, partajată de tipurile de control checkbox, combo box, list box, option button, text box și toggle button.
Cum pot citi starea bifată a unui control checkbox?
Fă un cast al Forms2OleControl la CheckBoxControl și citește proprietatea Checked.
Extinde CommandButtonControl MorphDataControl ca și celelalte?
Nu – CommandButtonControl extinde Forms2OleControl direct, deoarece un buton de comandă nu este un control de introducere a datelor.
API Reference Rezumat
| Clasă | Descriere: |
|---|---|
MorphDataControl | Bază abstractă pentru controalele checkbox, combo box, list box, option button, text box și toggle button |
CheckBoxControl | Control de bifare; extinde MorphDataControl; adaugă Checked |
OptionButtonControl | Control buton de opţiune; extinde MorphDataControl; adaugă Selected |
TextBoxControl | Control casetă de text; extinde MorphDataControl; adaugă Text |
CommandButtonControl | Control buton de comandă; extinde Forms2OleControl direct |