Freigeben über


Problembehandlung bei Steuerelement- und Komponentenerstellung

In diesem Thema werden die folgenden allgemeinen Probleme aufgeführt, die beim Entwickeln von Komponenten und Steuerelementen auftreten:

  • Steuerelement kann der Toolbox nicht hinzugefügt werden

  • Das Windows Forms-Benutzersteuerelement oder die Komponente kann nicht gedebuggt werden.

  • Das Ereignis wird zweimal in geerbten Steuerelementen oder Komponenten ausgelöst.

  • Design-Time Fehler: "Fehler beim Erstellen der Komponente 'Komponentenname'"

  • STAThreadAttribute

  • Das Komponentensymbol wird in der Toolbox nicht angezeigt.

Steuerelement kann der Toolbox nicht hinzugefügt werden

Wenn Sie der Toolbox ein benutzerdefiniertes Steuerelement hinzufügen möchten, das Sie in einem anderen Projekt oder einem Drittanbieter-Steuerelement erstellt haben, müssen Sie dies manuell ausführen. Wenn das aktuelle Projekt Das Steuerelement oder die Komponente enthält, sollte es automatisch in der Toolbox angezeigt werden. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Automatisches Auffüllen der Toolbox mit benutzerdefinierten Komponenten.

So fügen Sie der Toolbox ein Steuerelement hinzu

  1. Klicken Sie mit der rechten Maustaste auf die Toolbox , und wählen Sie im Kontextmenü " Elemente auswählen" aus.

  2. Fügen Sie im Dialogfeld "Toolboxelemente auswählen " die Komponente hinzu:

    • Wenn Sie eine .NET Framework-Komponente oder ein .NET Framework-Steuerelement hinzufügen möchten, klicken Sie auf die Registerkarte .NET Framework-Komponenten .

      –oder–

    • Wenn Sie eine COM-Komponente oder ein ActiveX-Steuerelement hinzufügen möchten, klicken Sie auf die Registerkarte "COM-Komponenten ".

  3. Wenn Das Steuerelement im Dialogfeld aufgeführt ist, bestätigen Sie, dass es ausgewählt ist, und klicken Sie dann auf "OK".

    Das Steuerelement wird der Toolbox hinzugefügt.

  4. Wenn das Steuerelement nicht im Dialogfeld aufgeführt ist, machen Sie Folgendes:

    1. Wählen Sie die Schaltfläche Durchsuchen aus.

    2. Navigieren Sie zu dem Ordner, der die .dll Datei enthält, die Ihr Steuerelement enthält.

    3. Wählen Sie die .dll Datei aus, und klicken Sie auf "Öffnen".

      Ihr Steuerelement wird im Dialogfeld angezeigt.

    4. Vergewissern Sie sich, dass Das Steuerelement ausgewählt ist, und klicken Sie dann auf "OK".

      Ihr Steuerelement wird der Toolbox hinzugefügt.

Das Windows Forms-Benutzersteuerelement oder die Komponente kann nicht gedebuggt werden.

Wenn Ihr Steuerelement von der UserControl Klasse abgeleitet ist, können Sie das Laufzeitverhalten mit dem Testcontainer debuggen. Weitere Informationen finden Sie unter Testen des Laufzeitverhaltens eines UserControl.

Andere benutzerdefinierte Steuerelemente und Komponenten sind keine eigenständigen Projekte. Sie müssen von einer Anwendung wie einem Windows Forms-Projekt gehostet werden. Zum Debuggen eines Steuerelements oder einer Komponente müssen Sie es einem Windows Forms-Projekt hinzufügen.

So debuggen Sie ein Steuerelement oder eine Komponente

  1. Klicken Sie im Menü " Erstellen " auf " Projektmappe erstellen", um Ihre Lösung zu erstellen.

  2. Wählen Sie im Menü "Datei " die Option "Hinzufügen" und dann " Neues Projekt " aus, um Ihrer Anwendung ein Testprojekt hinzuzufügen.

  3. Wählen Sie im Dialogfeld " Neues Projekt hinzufügen " die Option "Windows-Anwendung " für den Projekttyp aus.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten "Verweise" für das neue Projekt. Klicken Sie im Kontextmenü auf "Verweis hinzufügen ", um einen Verweis auf das Projekt hinzuzufügen, das das Steuerelement oder die Komponente enthält.

  5. Erstellen Sie eine Instanz Ihres Steuerelements oder Ihrer Komponente im Testprojekt. Wenn sich ihre Komponente in der Toolbox befindet, können Sie sie auf die Designeroberfläche ziehen oder die Instanz programmgesteuert erstellen, wie im folgenden Codebeispiel gezeigt.

    Dim Component1 As New MyNeatComponent()
    
    MyNeatComponent Component1 = new MyNeatComponent();
    

    Sie können das Steuerelement oder die Komponente jetzt wie gewohnt debuggen.

Weitere Informationen zum Debuggen finden Sie unter Debuggen in Visual Studio und Kurzanleitung: Debuggen von benutzerdefinierten Windows Forms-Steuerelementen zur Entwurfszeit.

Das Ereignis wird zweimal in geerbten Steuerelementen oder Komponenten ausgelöst.

Dies ist wahrscheinlich auf eine duplizierte Handles Klausel zurückzuführen. Weitere Informationen finden Sie unter "Problembehandlung geerbter Ereignishandler" in Visual Basic.

Design-Time Fehler: "Fehler beim Erstellen der Komponente 'Komponentenname'"

Die Komponente oder das Steuerelement muss einen parameterlosen Konstruktor ohne Parameter bereitstellen. Wenn die Entwurfsumgebung eine Instanz Ihrer Komponente oder Ihres Steuerelements erstellt, versucht sie nicht, Parameter für Konstruktorüberladungen bereitzustellen, die Parameter annehmen.

STAThreadAttribute

Der STAThreadAttribute informiert die Common Language Runtime (CLR), dass Windows Forms das Single-Threaded-Apartment-Modell verwendet. Möglicherweise bemerken Sie unbeabsichtigtes Verhalten, wenn Sie dieses Attribut nicht auf die Methode Ihrer Windows Forms-Anwendung Main anwenden. Hintergrundbilder werden z. B. möglicherweise nicht für Steuerelemente wie ListView. Einige Steuerelemente erfordern dieses Attribut möglicherweise auch für ein korrektes Verhalten bei der Autovervollständigung und Drag-and-Drop.

Das Komponentensymbol wird in der Toolbox nicht angezeigt.

Wenn Sie mit ToolboxBitmapAttribute ein Symbol Ihrer benutzerdefinierten Komponente zuordnen, wird das Bitmap-Bild nicht in der Toolbox für autogenerierte Komponenten angezeigt. Um die Bitmap anzuzeigen, laden Sie das Steuerelement mithilfe des Dialogfelds "Toolboxelemente auswählen " neu. Weitere Informationen finden Sie unter How to: Provide a Toolbox Bitmap for a Control.

Siehe auch