Wie füge ich mein neues Benutzersteuerelement der Toolbox oder einer neuen Winform hinzu?


70

Ich habe eine vorhandene Bibliothek (keine Winforms-Anwendung), die einige Winforms für eine echte Windows-Anwendung bereitstellt. Innerhalb dieser Bibliothek möchte ich ein Benutzersteuerelement erstellen, um einige Steuerelemente zusammenzufassen. Um dies zu erreichen, klickte ich mit der rechten Maustaste auf Hinzufügen, Benutzersteuerung und zog einige Steuerelemente auf das neue Benutzersteuerelement.

So weit, ist es gut. Das Benutzersteuerelement verfügt sogar über das erforderliche Benutzersteuerungssymbol. Das Ziehen des neuen Benutzersteuerelements aus dem Projektmappen-Explorer auf eine neue leere Winform funktioniert jedoch nicht (ich erhalte einen Kreis mit einer Linie), und das Ziehen in die Toolbox funktioniert auch nicht (obwohl ich ein + -Zeichen erhalte wenn ich es über die Toolbox ziehe).

Gibt es eine Art XML-Magie oder etwas anderes, das mir fehlt, damit dies funktioniert?


Hinweis: Ich hatte einige Probleme mit Visual Studio 2008 , dass ich , indem Sie die Abhilfen zu beheben verwaltet , die gefunden werden können hier . Ich kann jetzt Benutzersteuerelemente, die ich meinem vorhandenen Projekt hinzugefügt habe, in die Toolbox aufnehmen, indem ich das Projekt einfach neu erstelle.


14
Sie können versuchen, Optionen -> Windows Forms Designer -> AutoToolboxPopulate zu aktivieren, um dies zu vereinfachen. Auf diese Weise müssen Sie lediglich die Lösung neu erstellen, damit die Benutzersteuerelemente in Ihrer Toolbox angezeigt werden.
Cody Gray

@CodyGray: Es ist bereits eingeschaltet, aber danke für den Tipp.
Robert Harvey

Es ist besonders unklar Within this library, I would like to create a User Control. Erstellen Sie einfach Ihr eigenes Projekt für diese UC. Wenn Sie die UC wirklich zum vorhandenen Projekt hinzufügen möchten, fügen Sie sie nicht zur Toolbox hinzu, sondern öffnen Sie einfach das Projekt. Erstellen, um die vorhandenen Steuerelemente zur Toolbox hinzuzufügen.
Hans Passant

@ HansPassant: Anscheinend stimmt etwas mit meiner VS-Umgebung nicht. Beim Erstellen des Projekts mit dem Benutzersteuerelement wird das Steuerelement nicht zur Toolbox hinzugefügt, und beim Versuch, das Toolbox-Dialogfeld "Elemente auswählen" zu öffnen, stürzt VS ab.
Robert Harvey

Setzen Sie zunächst die Toolbox zurück und klicken Sie mit der rechten Maustaste auf + Zurücksetzen. Fügen Sie die Bibliothek stattdessen zu Ihrer Lösung hinzu, indem Sie Referenz hinzufügen oder Projekt hinzufügen verwenden.
Hans Passant

Antworten:


97

Vorausgesetzt, ich verstehe, was Sie meinen:

  1. Wenn Sie UserControlsich in einer Bibliothek befinden, können Sie diese mithilfe von zu Ihrer Toolbox hinzufügen

    Toolbox -> Rechtsklick -> Elemente auswählen ->Browse

    Wählen Sie Ihre Baugruppe mit dem UserControl.

  2. Wenn das UserControlTeil Ihres Projekts ist, müssen Sie nur die gesamte Lösung erstellen. Danach sollte Ihr UserControlin der Toolbox erscheinen.

Im Allgemeinen ist es nicht möglich, ein Steuerelement über den Projektmappen-Explorer hinzuzufügen, sondern nur über die Toolbox.

Geben Sie hier die Bildbeschreibung ein


Hmm, mein kleines Benutzersteuerungsprojekt fügt das Steuerelement automatisch der Toolbox hinzu, aber nicht, wenn ich das Benutzersteuerelement direkt im vorhandenen Projekt erstelle. Außerdem scheine ich dieses Problem zu haben.
Robert Harvey

2
Haben Sie nur Ihr Projekt oder die gesamte Lösung erstellt? Ich habe keine Antwort auf das Absturzproblem (dies hängt nicht mit Ihrer Frage zusammen, denke ich). Sie sollten eine neue Antwort darauf erstellen. Was denken Sie ?
dknaack

Ich habe versucht, die gesamte Lösung neu zu erstellen. es hat die Dinge nicht verbessert. Ich arbeite gerade an dem Absturzproblem.
Robert Harvey

3
Sie können auch mit der rechten Maustaste klicken und alle anzeigen. Wenn sich Ihr Steuerelement in der Liste befindet, aber deaktivieren, haben Sie ein anderes Problem.
Thomas

4
Hatte dieses Problem in VS 2017. Durch Schließen von VS 2017 und erneutes Öffnen wurde die Toolbox mit dem UserControl aktualisiert.
iCode

7

Eine Möglichkeit, diesen Fehler zu erhalten, besteht darin, einem Formular eine Benutzersteuerung hinzuzufügen, während das Projekt auf x64 kompiliert ist. Visual Studio gibt die nicht hilfreiche Meldung aus: " Toolbox-Element konnte nicht geladen werden. Es wird aus der Toolbox entfernt. "

Problemumgehung besteht darin, mit "Beliebiger CPU" zu entwerfen und bei Bedarf auf x64 zu kompilieren.

Referenz: https://support.microsoft.com/en-us/kb/963017


2

Ich habe festgestellt, dass Benutzersteuerelemente im selben Projekt vorhanden sein können.
Wie bereits erwähnt, muss AutoToolboxPopulate auf True gesetzt sein.
Erstellen Sie das gewünschte Benutzersteuerelement.
Wählen Sie Build Solution.
Wenn das neue Benutzersteuerelement nicht in der Toolbox angezeigt wird, schließen / öffnen Sie Visual Studio.
Wenn die Benutzersteuerelemente immer noch nicht in der Toolbox angezeigt werden, klicken Sie mit der rechten Maustaste auf die Toolbox und wählen Sie Toolbox zurücksetzen. Wählen Sie dann Build Solution. Wenn sie immer noch nicht vorhanden sind, starten Sie Visual Studio neu.
Beim Erstellen der Lösung dürfen keine Erstellungsfehler auftreten. Andernfalls werden der Toolbox keine neuen Toolbox-Elemente hinzugefügt.


0

Ein Benutzersteuerelement kann nicht selbst angewendet werden. Öffnen Sie also eine andere Winform und die wird in der Toolbox angezeigt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.