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:
Sie können einem Word-Dokument ein Steuerelement programmgesteuert hinzufügen und eine Methode verwenden, die den Bereich für die Position angibt. Weitere Informationen hierzu finden Sie unter Hilfsmethoden für Windows Forms-Steuerelemente.
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. Weitere Informationen hierzu finden Sie unter Verwenden von Windows Forms-Steuerelementen in einem Word-Dokument.
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:
Das Aufheben der Auswahl des Steuerelements löst Ereignisse in folgender Reihenfolge aus:
|
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