Delen via


Overwegingen bij het hosten van een ActiveX-besturingselement op een Windows-formulier

Hoewel Windows Forms is geoptimaliseerd voor het hosten van Besturingselementen voor Windows Forms, kunt u nog steeds ActiveX-besturingselementen gebruiken. Houd rekening met de volgende overwegingen bij het plannen van een toepassing die gebruikmaakt van ActiveX-besturingselementen:

  • Security De algemene taalruntime is verbeterd met betrekking tot de beveiliging van codetoegang. Toepassingen met Windows Forms kunnen zonder problemen worden uitgevoerd in een volledig vertrouwde omgeving en in een semi-vertrouwde omgeving met de meeste functionaliteit die toegankelijk is. Besturingselementen voor Windows Forms kunnen zonder complicaties worden gehost in een browser. ActiveX-besturingselementen in Windows Forms kunnen echter niet profiteren van deze beveiligingsverbeteringen. Voor het uitvoeren van een ActiveX-besturingselement is een niet-beheerde codemachtiging vereist, die is ingesteld met de eigenschap SecurityPermissionAttribute.UnmanagedCode. Zie SecurityPermissionAttributevoor meer informatie over beveiligings- en onbeheerde codemachtigingen.

  • Totale eigendomskosten ActiveX-besturingselementen die zijn toegevoegd aan een Windows-formulier, worden geïmplementeerd met dat Windows-formulier in hun geheel, wat aanzienlijk kan worden toegevoegd aan de grootte van de gemaakte bestanden. Daarnaast moet u met ActiveX-besturingselementen in Windows Forms schrijven naar het register. Dit is ingrijpender voor de computer van een gebruiker dan Windows Forms-besturingselementen, waarvoor dit niet nodig is.

    Notitie

    Voor het werken met een ActiveX-besturingselement is het gebruik van een COM-interoperabiliteitswikkelaar vereist. Zie COM-interoperabiliteit in Visual Basic en Visual C#voor meer informatie.

    Notitie

    Als de naam van een lid van het ActiveX-besturingselement overeenkomt met een naam die is gedefinieerd in .NET Framework, wordt de lidnaam voorafgegaan door ActiveX Control Importer met Ctl- wanneer de afgeleide klasse AxHost wordt gemaakt. Als uw ActiveX-besturingselement bijvoorbeeld een lid heeft met de naam Layout, wordt de naam CtlLayout in de AxHost-afgeleide klasse gewijzigd omdat de Layout-gebeurtenis is gedefinieerd binnen het .NET Framework.

Zie ook