Legacy ActiveX (Forms 2.0) Steuerelementtypen
Legacy ActiveX (Forms 2.0) Steuerelementtypen
Arbeiten mit OLE-Objekten und eingebetteten Inhalten behandelt, wie man ein eingebettetes Microsoft Forms 2.0 ActiveX-Steuerelement über OleFormat.OleControl und konvertiert es in die abstrakte Forms2OleControl Basisklasse. Aspose.Words FOSS für .NET stellt außerdem fünf stark typisierte Unterklassen für die spezifischen Steuerungsarten bereit, die Word unterstützt – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, und MorphDataControl – jede in der Aspose.Words.Drawing.Ole namespace, ein steuerspezifisches Mitglied zusätzlich zu den Eigenschaften hinzufügen Forms2OleControl bietet bereits (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).
CheckBoxControl und OptionButtonControl
CheckBoxControl erweitert MorphDataControl und fügt Checked (ein bool) für den Ein/Aus-Zustand des Steuerelements hinzu. OptionButtonControl erweitert zudem MorphDataControl und fügt Selected (ein bool) hinzu – verwendet für eine Gruppe gegenseitig ausschließender Optionsschalter, die dieselbe GroupName teilen.
TextBoxControl
TextBoxControl erweitert MorphDataControl und fügt Text (ein string) hinzu, den angezeigten und editierbaren Text des Steuerelements.
CommandButtonControl
CommandButtonControl erweitert Forms2OleControl direkt (nicht MorphDataControl) und hat einen eigenen Konstruktor. Es stellt einen Button dar, der beim Klicken in Word ein Makro ausführt, wobei die Beschriftung des Buttons über die geerbte Caption-Eigenschaft bereitgestellt wird.
MorphDataControl: die gemeinsam genutzte Basis für Dateneingabe-Steuerelemente
MorphDataControl ist eine aggregierte Basis für sechs verwandte Steuerelementarten – Checkbox, Kombinationsfeld, Listbox, Optionsschaltfläche, Textfeld und Umschaltbutton. CheckBoxControl, OptionButtonControl und TextBoxControl erweitern sie jeweils, erben ihre Mitglieder und fügen jeweils eine typenspezifische Eigenschaft hinzu.
Tipps und bewährte Verfahren
- Lese
Forms2OleControl.Type(einenForms2OleControlType-Wert), um ein Steuerelement zu identifizieren, bevor es in eine der spezifischen Unterklassen umgewandelt wird – nicht jedesForms2OleControlist eine der hier behandelten fünf stark typisierten Unterklassen. - Verwende
GroupName, um mehrereOptionButtonControl-Instanzen zu einem gegenseitig ausschließenden Satz zuzuordnen, analog dazu, wie Word Optionsschaltflächen gruppiert. - Greife auf verschachtelte Steuerelemente innerhalb eines Rahmens oder eines mehrseitigen Containers über das geerbte
ChildNodes(einForms2OleControlCollection) zu, unabhängig davon, welche Unterklasse der Container hat.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
Das Casten eines Forms2OleControl zu CheckBoxControl wirft eine InvalidCastException | Das Steuerelement ist ein anderer Forms 2.0-Steuerungstyp (zum Beispiel ein TextBoxControl oder OptionButtonControl) | Prüfen Sie Forms2OleControl.Type, bevor Sie zu einer bestimmten Unterklasse casten |
OptionButtonControl.Selected verhält sich nicht gegenseitig ausschließend zu benachbarten Steuerelementen | Die Steuerelemente teilen nicht denselben GroupName | Setzen Sie denselben GroupName-Wert für jedes OptionButtonControl im Satz |
CommandButtonControl.Caption ist leer | Die Beschriftung der Schaltfläche stammt aus dem geerbten Forms2OleControl.Caption, nicht aus einer CommandButtonControl-spezifischen Eigenschaft | Lesen Sie Caption, nicht ein nicht existierendes nur-CommandButtonControl-Mitglied |
FAQ
Wie erkenne ich, welche stark typisierte Steuerklasse ein Forms2OleControl tatsächlich ist?
Lese seine Type-Eigenschaft (Forms2OleControlType) oder versuche, sie in die erwartete spezifische Unterklasse zu casten, z. B. CheckBoxControl oder TextBoxControl.
Was ist der Unterschied zwischen MorphDataControl und Forms2OleControl?
Forms2OleControl ist die abstrakte Basis für jede Forms 2.0-Steuerung. MorphDataControl ist eine spezifischere abstrakte Basis, die selbst Forms2OleControl erweitert und von den Steuerungsarten Checkbox, Kombinationsfeld, Listbox, Optionsfeld, Textfeld und Umschaltknopf gemeinsam genutzt wird.
Wie lese ich den aktivierten Zustand einer Checkbox-Steuerung?
Cast das Forms2OleControl zu CheckBoxControl und lese seine Checked-Eigenschaft.
Erweitert CommandButtonControl MorphDataControl wie die anderen?
Nein – CommandButtonControl erweitert Forms2OleControl nicht direkt, da ein Befehls-Button kein Dateneingabesteuerelement ist.
API Reference Zusammenfassung
| Klasse | Beschreibung |
|---|---|
MorphDataControl | Abstrakte Basisklasse für Checkbox-, Kombinationsfeld-, Listenfeld-, Optionsschaltflächen-, Textfeld- und Umschalt-Schaltflächen-Steuerelemente |
CheckBoxControl | Checkbox-Steuerung; erweitert MorphDataControl; fügt Checked hinzu |
OptionButtonControl | Optionsschaltfläche-Steuerung; erweitert MorphDataControl; fügt Selected hinzu |
TextBoxControl | Textfeld-Steuerung; erweitert MorphDataControl; fügt Text hinzu |
CommandButtonControl | Befehlsschaltfläche-Steuerung; erweitert Forms2OleControl direkt |