Tipi di controllo Legacy ActiveX (Forms 2.0)
Tipi di controllo legacy ActiveX (Forms 2.0)
Lavorare con oggetti OLE e contenuti incorporati copre come accedere a un controllo ActiveX Microsoft Forms 2.0 incorporato tramite OleFormat.OleControl e convertirlo al tipo astratto Forms2OleControl classe base. Aspose.Words FOSS per .NET espone anche cinque sottoclassi tipizzate per i tipi specifici di controllo supportati da Word – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, e MorphDataControl – ciascuna nella Aspose.Words.Drawing.Ole spazio dei nomi, aggiungendo un membro specifico del controllo oltre alle proprietà Forms2OleControl fornisce già (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).
CheckBoxControl e OptionButtonControl
CheckBoxControl estende MorphDataControl e aggiunge Checked (un bool) per lo stato on/off del controllo. OptionButtonControl estende anche MorphDataControl e aggiunge Selected (un bool) – usato per un insieme di pulsanti di opzione mutuamente esclusivi che condividono lo stesso GroupName.
TextBoxControl
TextBoxControl estende MorphDataControl e aggiunge Text (un string), il testo visualizzato e modificabile del controllo.
CommandButtonControl
CommandButtonControl estende Forms2OleControl direttamente (non MorphDataControl) e ha il proprio costruttore. Rappresenta un pulsante che esegue una macro quando viene cliccato in Word, con l’etichetta del pulsante esposta tramite la proprietà ereditata Caption.
MorphDataControl: la Base Condivisa per i Controlli di Inserimento Dati
MorphDataControl è una base aggregata per sei tipologie di controlli correlati – checkbox, combo box, list box, option button, text box e toggle button. CheckBoxControl, OptionButtonControl e TextBoxControl la estendono, ereditando i suoi membri e aggiungendo una proprietà specifica del tipo.
Suggerimenti e Buone Pratiche
- Leggi
Forms2OleControl.Type(un valoreForms2OleControlType) per identificare un controllo prima di convertirlo in una delle sottoclassi specifiche – non ogniForms2OleControlè una delle cinque sottoclassi tipizzate trattate qui. - Usa
GroupNameper associare diverse istanze diOptionButtonControlin un unico set mutuamente esclusivo, corrispondente al modo in cui Word raggruppa i pulsanti di opzione. - Accedi ai controlli nidificati all’interno di un frame o di un contenitore multipagina tramite l’
ChildNodesereditato (unForms2OleControlCollection), indipendentemente dalla sottoclasse del contenitore.
Problemi Comuni
| Problema | Cause | Correzione |
|---|---|---|
Il cast di un Forms2OleControl a CheckBoxControl genera un InvalidCastException | Il controllo è di un tipo di controllo Forms 2.0 diverso (ad esempio un TextBoxControl o un OptionButtonControl) | Verifica Forms2OleControl.Type prima di effettuare il cast a una sottoclasse specifica |
OptionButtonControl.Selected non si comporta come mutualmente esclusivo con i controlli fratelli | I controlli non condividono lo stesso GroupName | Imposta lo stesso valore GroupName su ogni OptionButtonControl nel set |
CommandButtonControl.Caption è vuoto | La didascalia del pulsante proviene dal Forms2OleControl.Caption ereditato, non da una proprietà specifica di CommandButtonControl | Leggi Caption, non un membro inesistente limitato a CommandButtonControl |
FAQ
Come faccio a sapere quale classe di controllo tipizzata fortemente è effettivamente un Forms2OleControl?
Leggi la sua proprietà Type (Forms2OleControlType) o prova a fare un cast alla sottoclasse specifica che ti aspetti, come CheckBoxControl o TextBoxControl.
Qual è la differenza tra MorphDataControl e Forms2OleControl?
Forms2OleControl è la base astratta per ogni controllo Forms 2.0. MorphDataControl è una base astratta più specifica, che estende Forms2OleControl, condivisa dai tipi di controllo checkbox, combo box, list box, option button, text box e toggle button.
Come leggo lo stato di spunta di un controllo checkbox?
Esegui il cast del Forms2OleControl a CheckBoxControl e leggi la sua proprietà Checked.
Il CommandButtonControl estende MorphDataControl come gli altri?
No – CommandButtonControl estende Forms2OleControl direttamente, poiché un pulsante di comando non è un controllo di inserimento dati.
API Reference Riepilogo
| Classe | Descrizione |
|---|---|
MorphDataControl | Base astratta per i controlli checkbox, combo box, list box, option button, text box e toggle button |
CheckBoxControl | Controllo checkbox; estende MorphDataControl; aggiunge Checked |
OptionButtonControl | Controllo pulsante di opzione; estende MorphDataControl; aggiunge Selected |
TextBoxControl | Controllo textbox; estende MorphDataControl; aggiunge Text |
CommandButtonControl | Controllo pulsante di comando; estende Forms2OleControl direttamente |