Delen via


Problemen met het ontwerpen van besturingselementen en onderdelen oplossen

In dit onderwerp worden de volgende veelvoorkomende problemen vermeld die zich voordoen bij het ontwikkelen van onderdelen en besturingselementen:

  • Kan besturingselement niet toevoegen aan gereedschapskist

  • Kan geen fouten opsporen in het gebruikersbesturingselement of onderdeel van Windows Forms

  • Gebeurtenis wordt tweemaal gegenereerd in overgenomen besturingselement of onderdeel

  • Design-Time fout: 'Kan onderdeel niet maken'onderdeelnaam''

  • STAThreadAttribute

  • Het onderdeelpictogram verschijnt niet in de werkbalk

Kan besturingselement niet toevoegen aan gereedschapskist

Als u een aangepast besturingselement wilt toevoegen dat u hebt gemaakt in een ander project of een besturingselement van derden aan de Toolbox, moet u dit handmatig doen. Als het huidige project uw besturingselement of onderdeel bevat, wordt dit automatisch weergegeven in de Werkset. Zie Walkthrough: De werkset automatisch vullen met aangepaste onderdelenvoor meer informatie.

Een besturingselement toevoegen aan de werkbalk

  1. Klik met de rechtermuisknop op de Werkset en selecteer in het snelmenu Kies Items.

  2. Voeg in het dialoogvenster Kies werksetitems de component toe:

    • Als u een .NET Framework-onderdeel of -besturingselement wilt toevoegen, klikt u op het tabblad .NET Framework Components.

      – of –

    • Als u een COM-onderdeel of ActiveX-besturingselement wilt toevoegen, klikt u op het tabblad COM-onderdelen.

  3. Als uw besturingselement wordt weergegeven in het dialoogvenster, bevestigt u dat het is geselecteerd en klikt u vervolgens op OK.

    Het bedieningselement wordt toegevoegd aan de Werkset.

  4. Als uw besturingselement niet wordt weergegeven in het dialoogvenster, gaat u als volgt te werk:

    1. Klik op de knop Bladeren.

    2. Blader naar de map met het .dll-bestand dat uw besturingselement bevat.

    3. Selecteer het bestand .dll en klik op Open.

      Uw controle wordt weergegeven in het dialoogvenster.

    4. Controleer of uw controle is geselecteerd en klik vervolgens op OK.

      Uw besturingselement wordt toegevoegd aan de Werkset.

Kan geen fouten opsporen in het gebruikersbesturingselement of onderdeel van Windows Forms

Als uw besturingselement is afgeleid van de UserControl-klasse, kunt u fouten opsporen in het runtimegedrag van de testcontainer. Zie Procedure: Het Run-Time gedrag van een UserControl-testen voor meer informatie.

Andere aangepaste besturingselementen en onderdelen zijn geen zelfstandige projecten. Ze moeten worden gehost door een toepassing zoals een Windows Forms-project. Als u fouten in een besturingselement of onderdeel wilt opsporen, moet u dit toevoegen aan een Windows Forms-project.

Fouten opsporen in een besturingselement of onderdeel

  1. Klik in het menu Build op Build Solution om uw oplossing te bouwen.

  2. Kies in het menu BestandToevoegenen nieuw project om een testproject toe te voegen aan uw toepassing.

  3. Kies in het dialoogvenster Nieuw project toevoegenWindows-toepassing voor het type project.

  4. Klik in Solution Explorer-met de rechtermuisknop op het knooppunt Verwijzingen voor het nieuwe project. Klik in het snelmenu op Verwijzing toevoegen om een verwijzing naar het project met het besturingselement of onderdeel toe te voegen.

  5. Maak een exemplaar van uw besturingselement of onderdeel in het testproject. Als uw onderdeel zich in de Toolboxbevindt, kunt u het naar het ontwerpoppervlak slepen of kunt u het exemplaar programmatisch maken, zoals wordt weergegeven in het volgende codevoorbeeld.

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

    U kunt nu fouten opsporen in uw besturingselement of onderdeel zoals gebruikelijk.

Zie voor meer informatie over foutopsporing Foutopsporing in Visual Studio en Walkthrough: Fouten opsporen in aangepaste Besturingselementen voor Windows Forms tijdens het ontwerpen.

Gebeurtenis wordt tweemaal opgeroepen in overgenomen besturingselement of onderdeel

Dit komt waarschijnlijk door een gedupliceerde Handles clausule. Voor meer informatie, zie Probleemoplossing van overgeërfde gebeurtenisafhandelaars in Visual Basic.

Design-Time fout: 'Het is niet gelukt om component 'Componentnaam' te maken'

Uw onderdeel of besturingselement moet een parameterloze constructor zonder parameters opgeven. Wanneer de ontwerpomgeving een exemplaar van uw onderdeel of besturingselement maakt, probeert deze geen parameters op te geven voor overbelastingen van constructors die parameters aannemen.

STAThreadAttribute

De STAThreadAttribute informeert de Common Language Runtime (CLR) dat Windows Forms gebruikmaakt van het single-threaded apartmentmodel. U ziet mogelijk onbedoeld gedrag als u dit kenmerk niet toepast op de Main methode van uw Windows Forms-toepassing. Achtergrondafbeeldingen worden bijvoorbeeld mogelijk niet weergegeven voor besturingselementen zoals ListView. Voor sommige besturingselementen is mogelijk ook dit kenmerk vereist voor correct automatisch aanvullen en het slepen en neerzetten.

Onderdeelpictogram wordt niet weergegeven in werkbalk

Wanneer u ToolboxBitmapAttribute gebruikt om een pictogram te koppelen aan uw aangepaste onderdeel, wordt de bitmap niet weergegeven in de werkset voor automatisch gegenereerde onderdelen. Als u de bitmap wilt zien, laadt u het besturingselement opnieuw met behulp van het dialoogvenster Toolbox Items Kiezen. Voor meer informatie, zie Hoe: Een Toolbox Bitmap Voor een Control Leveren.

Zie ook