Anleitung: Automatisches Befüllen der Toolbox mit benutzerdefinierten Komponenten
Wenn Ihre Komponenten von einem Projekt in der aktuell geöffneten Lösung definiert werden, erscheinen sie automatisch in der Toolbox, ohne dass von Ihnen eine Handlung erforderlich ist. Sie können auch die Toolbox- manuell mit Ihren benutzerdefinierten Komponenten auffüllen, indem Sie das Dialogfeld Toolboxelemente (Visual Studio)verwenden. Die Toolbox berücksichtigt jedoch Elemente in den Buildausgaben Ihrer Lösung mit allen folgenden Merkmalen:
Implementiert IComponent;
Hat ToolboxItemAttribute nicht auf
false
festgelegt;Hat DesignTimeVisibleAttribute nicht auf
false
gesetzt.
Anmerkung
Die Toolbox- folgt keinen Verweisketten, daher werden keine Elemente angezeigt, die nicht von einem Projekt in Ihrer Lösung erstellt wurden.
In dieser Schritt-für-Schritt-Anleitung wird veranschaulicht, wie eine benutzerdefinierte Komponente automatisch in der Toolbox angezeigt wird, sobald die Komponente erstellt ist. Die in diesem Leitfaden gezeigten Aufgaben umfassen:
Erstellen eines Windows Forms-Projekts.
Erstellen einer benutzerdefinierten Komponente.
Erstellen einer Instanz einer benutzerdefinierten Komponente.
Entladen und Neuladen einer benutzerdefinierten Komponente.
Wenn Sie fertig sind, sehen Sie, dass die Toolbox- mit einer komponente gefüllt wird, die Sie erstellt haben.
Projekt erstellen
Erstellen Sie in Visual Studio ein Windows-basiertes Anwendungsprojekt namens
ToolboxExample
(File>New>Project>Visual C# oder Visual Basic>Classic Desktop>Windows Forms Application).Fügen Sie dem Projekt eine neue Komponente hinzu. Nennen Sie es
DemoComponent
.Weitere Informationen finden Sie unter How to: Add New Project Items.
Erstellen Sie das Projekt.
Klicken Sie im Menü Extras auf das Element Optionen. Klicken Sie unter dem Windows Forms Designer Element auf Allgemein, und stellen Sie sicher, dass die Option AutoToolboxPopulate auf Trueeingestellt ist.
Erstellen einer Instanz einer benutzerdefinierten Komponente
Der nächste Schritt besteht darin, eine Instanz der benutzerdefinierten Komponente im Formular zu erstellen. Da die Toolbox automatisch die neue Komponente berücksichtigt, ist dies genauso einfach wie das Erstellen einer anderen Komponente oder eines anderen Elements.
Öffnen Sie das Formular des Projekts im Formulardesigner.
Klicken Sie im Toolbox-auf den neuen Reiter ToolboxExample-Komponenten.
Nachdem Sie auf die Registerkarte geklickt haben, wird DemoComponentangezeigt.
Anmerkung
Aus Leistungsgründen zeigen Komponenten im automatisch aufgefüllten Bereich der Toolbox keine benutzerdefinierten Bitmaps, und ferner wird die ToolboxBitmapAttribute nicht unterstützt. Um ein Symbol für eine benutzerdefinierte Komponente in der Toolboxanzuzeigen, verwenden Sie das Dialogfeld Elemente der Toolbox auswählen, um Ihre Komponente zu laden.
Ziehen Sie Ihre Komponente auf Ihr Formular.
Eine Instanz der Komponente wird erstellt und der Component Trayhinzugefügt.
Entladen und erneutes Laden einer benutzerdefinierten Komponente
Die Toolbox- berücksichtigt die Komponenten in jedem geladenen Projekt. Wenn ein Projekt entladen wird, entfernt sie dann die Verweise auf die Komponenten dieses Projekts.
Entladen Sie das Projekt aus der Solution.
Weitere Informationen zum Entladen von Projekten finden Sie unter "Anleitung: Projekte entladen und erneut laden". Wenn Sie zum Speichern aufgefordert werden, wählen Sie Jaaus.
Fügen Sie der Lösung ein neues Windows Application Projekt hinzu. Öffnen Sie das Formular im Designer.
Die Registerkarte ToolboxExample-Komponenten aus dem vorherigen Projekt ist jetzt nicht mehr vorhanden.
Laden Sie das
ToolboxExample
Projekt neu.Die Registerkarte 'ToolboxExample-Komponenten' wird jetzt wieder angezeigt.
Nächste Schritte
In dieser exemplarischen Vorgehensweise wird veranschaulicht, dass die Toolbox- die Komponenten eines Projekts berücksichtigt, während die Toolbox- auch Steuerelemente berücksichtigt. Experimentieren Sie mit Ihren eigenen benutzerdefinierten Steuerelementen, indem Sie Steuerelementprojekte aus Ihrer Lösung hinzufügen und entfernen.