Äldre ActiveX (Forms 2.0) kontrolltyper
Legacy ActiveX (Forms 2.0) kontrolltyper
Arbeta med OLE-objekt och inbäddat innehåll täcker hur man når en inbäddad Microsoft Forms 2.0 ActiveX kontroll via OleFormat.OleControl och kasta den till den abstrakta Forms2OleControl basklassen. Aspose.Words FOSS för .NET exponerar också fem starkt typade underklasser för de specifika kontrolltyperna som Word stöder – CheckBoxControl, OptionButtonControl, TextBoxControl, CommandButtonControl, och MorphDataControl – var och en i Aspose.Words.Drawing.Ole namnrymd, lägga till en kontrollspecifik medlem ovanpå egenskaperna Forms2OleControl ger redan (Caption, Value, Enabled, Type, GroupName, ForeColor, BackColor, Width, Height, Name, ChildNodes).
CheckBoxControl och OptionButtonControl
CheckBoxControl ärver MorphDataControl och lägger till Checked (en bool) för kontrollens på/av-tillstånd. OptionButtonControl ärver också MorphDataControl och lägger till Selected (en bool) – används för en uppsättning ömsesidigt uteslutande alternativknappar som delar samma GroupName.
TextBoxControl
TextBoxControl ärver MorphDataControl och lägger till Text (en string), kontrollens visade och redigerbara text.
CommandButtonControl
CommandButtonControl ärver Forms2OleControl direkt (inte MorphDataControl) och har sin egen konstruktor. Den representerar en knapp som kör ett makro när den klickas i Word, med knappens etikett exponerad via den ärvda Caption-egenskapen.
MorphDataControl: den delade basen för datainmatningskontroller
MorphDataControl är en samlingsbas för sex relaterade kontrolltyper – kryssruta, kombinationsruta, listruta, alternativknapp, textruta och växlingsknapp. CheckBoxControl, OptionButtonControl och TextBoxControl ärver var för sig den, får dess medlemmar och lägger till en typ-specifik egenskap var.
Tips och bästa praxis
- Läs
Forms2OleControl.Type(ettForms2OleControlType-värde) för att identifiera en kontroll innan du kastar den till en av de specifika underklasserna – inte varjeForms2OleControlär en av de fem starkt typade underklasser som behandlas här. - Använd
GroupNameför att associera fleraOptionButtonControl-instanser till en ömsesidigt uteslutande grupp, i enlighet med hur Word grupperar alternativknappar. - Nå inbäddade kontroller i ett ram- eller flersidigt behållare via den ärvda
ChildNodes(enForms2OleControlCollection), oavsett vilken underklass behållaren har.
Vanliga problem
| Problem | Orsak | Åtgärd |
|---|---|---|
Att konvertera en Forms2OleControl till CheckBoxControl kastar ett InvalidCastException | Kontrollen är en annan Forms 2.0-kontrolltyp (till exempel en TextBoxControl eller OptionButtonControl) | Kontrollera Forms2OleControl.Type innan du kastar till en specifik subklass |
OptionButtonControl.Selected är inte ömsesidigt uteslutande med syskontroller | Kontrollerna delar inte samma GroupName | Ange samma GroupName-värde på varje OptionButtonControl i uppsättningen |
CommandButtonControl.Caption är tom | Knappens rubrik hämtas från den ärvda Forms2OleControl.Caption, inte en CommandButtonControl-specifik egenskap | Läs Caption, inte en icke-existerande CommandButtonControl-endast medlem |
FAQ
Hur vet jag vilken starkt typad kontrollklass ett Forms2OleControl egentligen är?
Läs dess Type-egenskap (Forms2OleControlType) eller försök göra en typkonvertering till den specifika underklassen du förväntar dig, såsom CheckBoxControl eller TextBoxControl.
Vad är skillnaden mellan MorphDataControl och Forms2OleControl?
Forms2OleControl är den abstrakta basen för varje Forms 2.0-kontroll. MorphDataControl är en mer specifik abstrakt bas, som i sin tur utökar Forms2OleControl, gemensam för checkbox, combo box, list box, option button, text box och toggle button control kinds.
Hur läser jag av ett checkbox-kontrollets markerade tillstånd?
Gör en typkonvertering av Forms2OleControl till CheckBoxControl och läs dess Checked-egenskap.
Utökar CommandButtonControl MorphDataControl som de andra?
Nej – CommandButtonControl ärver Forms2OleControl direkt, eftersom en kommando-knapp inte är en datainmatningskontroll.
API Reference Sammanfattning
| Klass | Beskrivning |
|---|---|
MorphDataControl | Abstrakt bas för kryssruta, kombinationsruta, listruta, alternativknapp, textruta och växlingsknappskontroller |
CheckBoxControl | Kryssrutekontroll; ärver MorphDataControl; lägger till Checked |
OptionButtonControl | Alternativknappkontroll; ärver MorphDataControl; lägger till Selected |
TextBoxControl | Textrutekontroll; ärver MorphDataControl; lägger till Text |
CommandButtonControl | Kommandoknappkontroll; ärver Forms2OleControl direkt |