Freigeben über


Einschränkungen für Windows Forms-Steuerelemente in Office-Dokumenten

Es bestehen einige Unterschiede zwischen Windows Forms-Steuerelementen, die zu Microsoft Office Word-Dokumenten oder Microsoft Office Excel-Arbeitsblättern hinzugefügt werden, und Windows Forms-Steuerelementen, die zu Windows Forms hinzugefügt werden. Wenn Sie beispielsweise einem Dokument ein Button-Steuerelement hinzufügen, verhalten sich Eigenschaften wie Dock, Anchor und TabIndex nicht wie erwartet.

Viele dieser Unterschiede werden durch die Art und Weise verursacht, mit der Windows Forms-Steuerelemente in Dokumenten gehostet werden. Beim Hinzufügen eines Windows Forms-Steuerelements zu einem Dokument wird von Visual Studio Tools for Office-Laufzeit ein ActiveX-Steuerelement eingebettet, das anschließend das Windows Forms-Steuerelement im Dokument hostet. Das Windows Forms-Steuerelement wird nicht direkt ins Dokument eingebettet.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und Anwendungsebene für die folgenden Anwendungen: Excel 2007 und Excel 2010, Word 2007 und Word 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Beschränkungen der Methoden und Eigenschaftswerte von Windows Forms-Steuerelementen

Es gibt eine Reihe von Methoden und Eigenschaften von Windows Forms-Steuerelementen, die bei einem Dokument nicht wie bei einem Windows Form funktionieren und daher nicht verwendet werden sollten. Das Festlegen von Eigenschaften wie Dock und Anchor wirkt sich nur auf die Position des Steuerelements in Bezug auf das Container-ActiveX-Steuerelement aus, nicht auf die Position in Bezug auf das Dokument. Die folgende Liste enthält nicht unterstützte Methoden und Eigenschaften von Windows Forms-Steuerelementen für Word und Excel:

  • Nicht unterstützte Methoden und Eigenschaften von Excel-Steuerelementen:

    • Anchor

    • Dock

    • Location

    • TabIndex

    • TabStop

    • TopLevelControl

  • Nicht unterstützte Methoden und Eigenschaften von Word-Steuerelementen:

    • Hide

    • Show

    • Anchor

    • Dock

    • Location

    • TabIndex

    • TabStop

    • TopLevelControl

    • Visible

Auch die Eigenschaften Left oder Top von Windows Forms-Steuerelementen, die am Text eines Word-Dokuments ausgerichtet wurden, können nicht festgelegt werden. Windows Forms-Steuerelemente werden in den folgenden Fällen am Text ausgerichtet:

Unterschiede bei Windows Forms-Steuerelementen in Office-Dokumenten

In den meisten Fällen verhalten sich Windows Forms-Steuerelemente in einem Office-Dokument genauso wie in einem Windows-Formular, es bestehen jedoch einige Unterschiede. In der folgenden Tabelle werden die Unterschiede beschrieben, die für Windows Forms-Steuerelemente in Office-Dokumenten bestehen.

Funktionalität

Difference

Steuerelement-Aktivierreihenfolge

Sie können Steuerelemente, die auf einem Excel-Arbeitsblatt oder einem Word-Dokument platziert sind, nicht per TAB-TASTE aktivieren.

Steuerelementgruppierung

Sie können ein GroupBox-Steuerelement nicht als Container für andere Steuerelemente in einem Office-Dokument verwenden. Wenn Sie dem Dokument mehrere Optionsfelder direkt hinzufügen, schließen sich die Optionsfelder nicht gegenseitig aus. Um zu gewährleisten, dass sich die Optionsfelder gegenseitig ausschließen, können Sie Code schreiben. Die bevorzugte Vorgehensweise besteht jedoch darin, einem Benutzersteuerelement Optionsfelder hinzuzufügen und dieses Benutzersteuerelement dann dem Dokument hinzuzufügen. Weitere Informationen finden Sie im Beispiel für Word-Steuerelemente bzw. Excel-Steuerelemente unter Beispiele und exemplarische Vorgehensweisen für die Programmierung mit Office.

Steuerelementtyp

In Dokumenten verwendete Windows Forms-Steuerelemente werden in einer Klasse umschlossen, die von Visual Studio Tools for Office-Laufzeit bereitgestellt wird. Diese Klasse verleiht den Steuerelementen eine für die Excel-Arbeitsmappe oder das Word-Dokument spezifische Funktionalität. Bei einem Button-Steuerelement in einer Excel-Arbeitsmappe sollten Sie z. B. den Typ als Microsoft.Office.Tools.Excel.Controls.Button und nicht als System.Windows.Forms.Button angeben, wenn Sie auf das Objekt verweisen oder es umwandeln.

Position und Größe von Steuerelementen

Die Größe und Position eines Steuerelements wird durch Eigenschaften bestimmt, die Teil des Container-ActiveX-Steuerelements sind. Die ActiveX-Steuerelementeigenschaften benötigen andere Werte als die entsprechenden Eigenschaften eines Windows Forms-Steuerelements. Wenn Sie die Eigenschaften Top, Left, Height oder Width eines Steuerelements festlegen, wird dies in Punkten und nicht in Pixel gemessen.

Steuerelementposition in Word-Dokumenten

Wenn Sie Steuerelemente zu einem flussbasierten Layout hinzufügen, sollten Sie beachten, dass die Steuerelemente mit dem Inhalt mitfließen, wenn dieser sich ändert. Sie können das Steuerelement nicht an einem Absatz verankern, wenn Sie es aus der Toolbox ziehen. Der Grund dafür ist, dass das Steuerelement am Text im Word-Dokument ausgerichtet wird. Wenn Sie zum Hinzufügen des Steuerelements eine andere Methode (z. B. Doppelklick auf das Steuerelement) verwenden, wird das Steuerelement entsprechend der Word-Option eingefügt, die für das Einfügen von Grafiken festgelegt ist.

Sie können die Left-Eigenschaft und die Top-Eigenschaft eines Steuerelements, das am Text ausgerichtet wurde, nicht festlegen.

Sie können keine Steuerelemente in einem Header, einer Fußzeile oder innerhalb eines Unterdokuments einfügen.

Steuerelementereignisse

Die Auswahl des Steuerelements löst Ereignisse in folgender Reihenfolge aus:

  1. Enter

  2. GotFocus

Das Aufheben der Auswahl des Steuerelements löst Ereignisse in folgender Reihenfolge aus:

  1. Leave

  2. Validating

  3. Validated

  4. LostFocus

Steuerelementskalierung

Wenn Sie die Zoomeinstellung eines Dokuments auf einen anderen Wert als 100 Prozent festlegen, werden Steuerelemente deaktiviert, obwohl sie scheinbar mit dem Dokument skaliert werden. Wenn Sie beispielsweise auf eine Schaltfläche klicken, während das Dokument eine Zoomeinstellung von 130 % hat, wird eine Meldung angezeigt. Daraus geht hervor, dass das Steuerelement so lange deaktiviert ist, bis die Zoomeinstellung wieder auf 100 % festgelegt wird. Die Steuerelemente funktionieren ordnungsgemäß, wenn Sie die Zoomeinstellung wieder auf 100 % ändern.

Eigenschaftswerte von Steuerelementen

Die Eigenschaften von Steuerelementen in einem Windows Form haben ganzzahlige Werte, während diese Eigenschaften in einem Word-Dokument auf Werte mit einfacher Genauigkeit festgelegt werden. In Excel werden die Eigenschaften von Steuerelementen auf Werte mit doppelter Genauigkeit festgelegt. Wenn die Height-Eigenschaft oder die Width-Eigenschaft eines Steuerelements in einem Arbeitsblatt die Größe des Arbeitsblattes oder des Bildschirms überschreitet, wird der Wert entsprechend vermindert.

Größenänderungen bei Steuerelementen

Wenn Sie die Größe eines Steuerelements im Dokument mit einem der acht Ziehpunkte ändern, werden die neuen Steuerelementabmessungen erst bei einem erneuten Auswählen des Steuerelements im Eigenschaftenfenster aktualisiert.

Steuerelementverhalten

Steuerelemente in einem Excel-Arbeitsblatt können möglicherweise unvorhersehbar reagieren, wenn das Fenster mit dem Arbeitsblatt geteilt wird. So kann z. B. der Zugriff auf eine TextBox im Arbeitsblatt nur in einem der Fenster möglich sein.

Benennung von Steuerelementen

Für die Benennung von Steuerelementen können Sie keine reservierten Wörter verwenden. Wenn Sie beispielsweise einem Arbeitsblatt einen Button hinzufügen und den Namen auf System ändern, gibt es beim Erstellen des Projekts Fehler.

Programmgesteuertes Hinzufügen von Steuerelementen

Fügen Sie Steuerelemente nicht mithilfe des Konstruktors des Steuerelements einem Dokument zur Laufzeit hinzu. Verwenden Sie stattdessen die von Visual Studio Tools for Office-Laufzeit bereitgestellten Hilfsmethoden. Verwenden Sie z. B. die AddButton-Methode, um einem Arbeitsblatt eine Schaltfläche hinzuzufügen. Wenn Sie ein Steuerelement hinzufügen möchten, dass von den 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 Container-ActiveX-Steuerelement in das Dokument eingefügt. Das Windows Forms-Steuerelement wird nicht an der neuen Position angezeigt, und der Code, der im ursprünglichen Steuerelement hinterlegt ist, wird nicht in das Container-ActiveX-Steuerelement kopiert.

Einschränkungen bei Projekten auf Dokumentebene

Einige Einschränkungen der Verwendung von Windows Forms-Steuerelementen in Dokumenten gelten nur für Projekte auf Dokumentebene.

Unterstützung von Steuerelementen zur Entwurfszeit

Bestimmte Windows Forms-Steuerelemente werden aus der Toolbox entfernt, wenn im Visual Studio-Designer ein Excel-Arbeitsblatt oder ein Word-Dokument geöffnet ist. Der Grund können technische Einschränkungen oder die Tatsache sein, dass die Funktionalität bereits in Word oder Excel verfügbar ist. Excel- und Word-Projekte unterstützen alle Windows Forms-Steuerelemente und weitere Komponenten, die in der Toolbox angezeigt werden, wenn das Dokument den Fokus hat, und ermöglichen außerdem das Hinzufügen von Drittanbieter-Steuerelementen zu Arbeitsblättern oder Dokumenten.

Tipp

Bei einem geschützten Dokument werden alle Steuerelemente aus der Toolbox entfernt. Informationen zum Dokumentschutz finden Sie unter Dokumentschutz in Projektmappen auf Dokumentebene.

Tipp

Das ComVisibleAttribute-Attribut von Drittanbieter-Steuerelementen muss auf true festgelegt sein, damit diese in einer Office-Lösung verwendet werden 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 mit ActiveX-Steuerelementen verwendet, geht die Funktionalität dieser ActiveX-Steuerelemente nicht verloren. Das Hinzufügen neuer ActiveX-Steuerelemente von Visual Studio aus wird jedoch nicht unterstützt. Wenn das Word-Dokument z. B. eine Schaltfläche aus der Steuerelement-Toolbox enthält, die ein VBA-(Visual Basic for Applications)-Makro ausführt, wird das Makro auch nach der Verwendung des Dokuments in einem Office-Projekt weiterhin ausgeführt. Es wird dennoch empfohlen, ActiveX-Steuerelemente und VBA-Makros zu entfernen und durch Windows Forms-Steuerelemente und verwalteten Code zu ersetzen.

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen von Windows Forms-Steuerelementen zu Office-Dokumenten

Konzepte

Übersicht über Windows Forms-Steuerelemente in Office-Dokumenten

Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit

Weitere Ressourcen

Steuerelemente für Office-Dokumente