Einschränkungen von Windows Forms-Steuerelementen für Office-Dokumente
Es gibt einige Unterschiede zwischen Windows Forms-Steuerelementen, die Microsoft Office Word-Dokumenten oder Microsoft Office Excel-Arbeitsblättern hinzugefügt werden, und Windows Forms-Steuerelemente, die Windows Forms hinzugefügt werden. Wenn Sie z. B. einem Dokument ein Button Steuerelement hinzufügen, verhalten sich Eigenschaften wie Dock, Anchorund TabIndex verhalten sich nicht wie erwartet.
Viele dieser Unterschiede werden dadurch verursacht, dass Windows Forms-Steuerelemente in Dokumenten gehostet werden. Wenn einem Dokument ein Windows Forms-Steuerelement hinzugefügt wird, bettet die Visual Studio-Tools für Office-Laufzeit ein ActiveX-Steuerelement ein, das dann das Windows Forms-Steuerelement im Dokument hostet. Das Windows Forms-Steuerelement ist nicht direkt in das Dokument eingebettet.
Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene und VSTO-Add-In-Projekte für Excel und Word. Weitere Informationen finden Sie unter features available by Office-App lication and project type.
Einschränkungen von Methoden und Eigenschaften von Windows Forms-Steuerelementen
Es gibt eine Reihe von Methoden und Eigenschaften von Windows Forms-Steuerelementen, die in einem Dokument nicht auf die gleiche Weise funktionieren wie in einem Windows Form und daher wird empfohlen, dass sie nicht verwendet werden. Das Festlegen von Eigenschaften wie z Dock . B. und Anchor wirkt sich nur auf die Position des Steuerelements in Bezug auf das ActiveX-Containersteuerelement und nicht auf das Dokument aus. Es folgt eine Liste der nicht unterstützten Methoden und Eigenschaften von Windows Forms-Steuerelementen für Word und Excel:
Nicht unterstützte Eigenschaften von Excel-Steuerelementen:
Nicht unterstützte Methoden und Eigenschaften von Word-Steuerelementen:
Sie können auch die Eigenschaft oder Top Eigenschaft von Windows Forms-Steuerelementen nicht festlegen, die Left sich in Zeile mit Text in einem Word-Dokument befinden. Windows Forms-Steuerelemente werden in den folgenden Fällen in Zeile mit Text hinzugefügt:
Sie fügen einem Word-Dokument programmgesteuert ein Steuerelement hinzu und verwenden eine Methode, die einen Bereich für die Position angibt.
Sie fügen einem Word-Dokument zur Entwurfszeit ein Windows Forms-Steuerelement hinzu. Sie können dies ändern, indem Sie das Steuerelement im Designer ändern.
Unterschiede bei Windows Forms-Steuerelementen in Office-Dokumenten
Windows Forms-Steuerelemente haben in der Regel das gleiche Verhalten in einem Office-Dokument wie in einem Windows Form, aber es gibt einige Unterschiede. In der folgenden Tabelle werden die Unterschiede beschrieben, die für Windows Forms-Steuerelemente in Office-Dokumenten vorhanden sind.
Funktionalität | Differenz |
---|---|
Aktivierreihenfolge des Steuerelements | Sie können keine Steuerelemente durchlaufen, die auf einem Excel-Arbeitsblatt oder Word-Dokument platziert sind. |
Steuerelementgruppierung | Sie können ein GroupBox Steuerelement nicht verwenden, um andere Steuerelemente in einem Office-Dokument zu enthalten. Wenn Sie dem Dokument mehrere Optionsfelder direkt hinzufügen, schließen sich die Optionsfelder nicht gegenseitig aus. Sie können Code schreiben, damit die Optionsfelder sich gegenseitig ausschließen; Der bevorzugte Ansatz besteht jedoch darin, einem Benutzersteuerelement die Optionsfelder hinzuzufügen und dann das Benutzersteuerelement dem Dokument hinzuzufügen. Weitere Informationen finden Sie im Beispiel zu Word-Steuerelementen oder excel-Steuerelementen zu Office-Entwicklungsbeispielen und exemplarischen Vorgehensweisen. |
Steuerelementtyp | Windows Forms-Steuerelemente, die für Dokumente verwendet werden, werden in eine Klasse eingeschlossen, die von der Visual Studio-Tools für Office-Laufzeit bereitgestellt wird, die den Steuerelementen zusätzliche Funktionen für das Excel-Arbeitsblatt oder Word-Dokument bereitstellt. Wenn Sie z. B. über ein Schaltflächensteuerelement auf einem Excel-Arbeitsblatt verfügen, müssen Sie den Typ Button nicht Button angeben, wenn Sie auf das Objekt verweisen oder es umwandeln. |
Steuern der Position und Größe | Die Größe und Position des Steuerelements wird durch Eigenschaften bestimmt, die Teil des ActiveX-Containersteuerelements sind. Die ActiveX-Steuerelementeigenschaften verwenden unterschiedliche Werte als die entsprechenden Eigenschaften eines Windows Forms-Steuerelements. Wenn Sie die Top Eigenschaften Left Height Width eines Steuerelements festlegen, wird es in Punkt und nicht in Pixel gemessen. |
Steuern der Position in Word-Dokumenten | Wenn Sie einem flussbasierten Layout Steuerelemente hinzufügen, denken Sie daran, dass die Steuerelemente beim Ändern des Inhalts mit dem Inhalt fließen. Sie können das Steuerelement nicht an einen Absatz ankern, wenn Sie es aus der Toolbox ziehen, da das Steuerelement dem Word-Dokument in Zeile mit Text hinzugefügt wird. Wenn Sie zum Hinzufügen des Steuerelements eine andere Methode verwenden, z. B. durch Doppelklicken auf das Steuerelement, wird das Steuerelement entsprechend der Word-Option eingefügt, die Sie zum Einfügen von Bildern festgelegt haben. Sie können die Left Eigenschaft eines Top Steuerelements, das mit Text inline ist, nicht festlegen.Steuerelemente können nicht in einer Kopf- oder Fußzeile oder in einem Filialdokument platziert werden. |
Steuerelementereignisse | Wenn das Steuerelement ausgewählt ist, löst es Ereignisse in der folgenden Reihenfolge aus: 1. Enter 2. GotFocus Wenn das Steuerelement deaktiviert wird, löst es Ereignisse in der folgenden Reihenfolge aus: 1. Leave 2. Validating 3. Validated 4. LostFocus |
Steuern der Skalierung | Wenn Sie die Zoomeinstellung eines Dokuments auf einen anderen Wert als 100 % ändern, werden Steuerelemente deaktiviert, obwohl sie mit dem Dokument skaliert werden. Wenn Sie z. B. auf eine Schaltfläche klicken, wenn Ihr Dokument mit einem Zoomfaktor von 130 % liegt, wird eine Meldung angezeigt, dass das Steuerelement deaktiviert wurde, bis der Zoom auf 100 % festgelegt ist. Die Steuerelemente funktionieren ordnungsgemäß, wenn Sie den Zoom auf 100 % ändern. |
Steuerelementeigenschaftenwerte | Obwohl die Eigenschaften von Steuerelementen in einem Windows Form auf einen ganzzahligen Wert festgelegt sind, werden sie für Steuerelemente in einem Word-Dokument auf eine einzelne festgelegt. In Excel werden die Eigenschaftswerte von Steuerelementen auf ein Double festgelegt. Wenn die Eigenschaft Width und die Height Eigenschaft eines Steuerelements auf einem Arbeitsblatt die Größe des Arbeitsblatts oder des Bildschirms überschreitet, wird der Wert abgeschnitten. |
Ändern der Größe von Steuerelementen | Wenn Sie die Größe eines Steuerelements im Dokument mithilfe eines der acht Ziehpunkte ändern, werden die neuen Steuerelementabmessungen erst dann im Eigenschaftenfenster angezeigt, wenn das Steuerelement erneut ausgewählt wird. |
Steuerungsverhalten | Steuerelemente auf einem Excel-Arbeitsblatt verhalten sich möglicherweise unvorhersehbar, wenn das Arbeitsblattfenster geteilt wird. Beispielsweise ist der Zugriff auf ein TextBox Arbeitsblatt möglicherweise nur in einem der Fenster verfügbar. |
Steuern der Benennung | Reservierte Wörter können nicht zum Benennen von Steuerelementen verwendet werden. Wenn Sie z. B. einem Arbeitsblatt einen Button Namen hinzufügen und den Namen in "System" ändern, treten beim Erstellen des Projekts Fehler auf. |
Programmgesteuertes Hinzufügen von Steuerelementen | Verwenden Sie nicht den Konstruktor des Steuerelements, um ihrem Dokument zur Laufzeit ein Steuerelement hinzuzufügen. Verwenden Sie stattdessen die Hilfsmethoden, die vom Visual Studio-Tools für Office-Laufzeit bereitgestellt werden. Verwenden Sie z. B. die AddButton Methode, um einem Arbeitsblatt eine Schaltfläche hinzuzufügen. Wenn Sie ein Steuerelement hinzufügen möchten, das von diesen Hilfsmethoden nicht unterstützt wird, können Sie die AddControl Methode verwenden. Weitere Informationen finden Sie unter Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit. |
Kopieren von Steuerelementen | Wenn Sie ein Windows Forms-Steuerelement kopieren und zur Laufzeit in ein Dokument einfügen, wird ein leeres ActiveX-Container-Steuerelement in das Dokument eingefügt. Das Windows Forms-Steuerelement wird nicht an der neuen Position angezeigt, und Code hinter dem ursprünglichen Steuerelement wird nicht in das Container-ActiveX-Steuerelement kopiert. |
Einschränkungen in Projekten auf Dokumentebene
Einige Einschränkungen der Verwendung von Windows Forms-Steuerelementen für Dokumente gelten nur für Projekte auf Dokumentebene.
Steuerungsunterstützung zur Entwurfszeit
Bestimmte Windows Forms-Steuerelemente werden aus der Toolbox entfernt, wenn ein Excel-Arbeitsblatt oder Word-Dokument im Visual Studio-Designer geöffnet ist. Dies liegt an technischen Einschränkungen oder daran, dass die Funktionalität bereits in Word oder Excel verfügbar ist. Excel- und Word-Projekte unterstützen alle Windows Forms-Steuerelemente und andere Komponenten, die in der Toolbox angezeigt werden, wenn das Dokument den Fokus hat, und Sie können einem Arbeitsblatt oder Dokument auch Steuerelemente von Drittanbietern hinzufügen.
Hinweis
Alle Steuerelemente werden aus der Toolbox entfernt, wenn ein Dokument geschützt ist. Informationen zum Dokumentschutz finden Sie unter Dokumentschutz in Lösungen auf Dokumentebene.
Hinweis
Drittanbietersteuerelemente müssen das ComVisibleAttribute Attribut auf "true " festgelegt haben, um in einer Office-Lösung verwendet werden zu können.
Die folgenden Steuerelemente und Komponenten sind in der Toolbox nicht verfügbar:
Unterstützung für ältere ActiveX-Steuerelemente
Wenn Sie ein Office-Projekt auf Dokumentebene erstellen, das ein vorhandenes Word-Dokument oder eine Excel-Arbeitsmappe verwendet, die ActiveX-Steuerelemente enthält, gehen die Funktionen der ActiveX-Steuerelemente nicht verloren. Es gibt jedoch keine Unterstützung für das Hinzufügen neuer ActiveX-Steuerelemente zu Ihren Dokumenten aus Visual Studio. Wenn Ihr Word-Dokument beispielsweise über eine Schaltfläche aus der Steuerelement-Toolbox verfügt, die ein VBA-Makro (Visual Basic for Applications) ausführt, wird das Makro weiterhin ausgeführt, nachdem das Dokument in einem Office-Projekt verwendet wurde. Es wird jedoch empfohlen, ActiveX-Steuerelemente und VBA-Makros zu entfernen und durch Windows Forms-Steuerelemente und verwalteten Code zu ersetzen.