Freigeben über


Aspekte beim Hosten eines ActiveX-Steuerelements in einem Windows Form

Obwohl Windows Forms für das Hosten von Windows Forms-Steuerelementen optimiert wurden, können Sie weiterhin ActiveX-Steuerelemente verwenden. Wenn Sie eine Anwendung planen, die ActiveX-Steuerelemente verwendet, sollten Sie Folgendes berücksichtigen:

  • Sicherheit: Die Common Language Runtime wurde im Hinblick auf die Codezugriffssicherheit verbessert. Anwendungen, die Windows Forms enthalten, können in einer vollständig vertrauenswürdigen Umgebung ohne Probleme und in einer halb vertrauenswürdigen Umgebung mit den meisten Funktionen ausgeführt werden, auf die zugegriffen werden kann. Windows Forms-Steuerelemente können ohne Komplikationen in einem Browser gehostet werden. ActiveX-Steuerelemente in Windows Forms können diese Sicherheitsverbesserungen jedoch nicht nutzen. Zum Ausführen eines ActiveX-Steuerelements ist eine nicht verwaltete Codeberechtigung erforderlich, die mit der SecurityPermissionAttribute.UnmanagedCode-Eigenschaft festgelegt wird. Weitere Informationen zur Sicherheit und der Berechtigung für nicht verwalteten Code finden Sie unter SecurityPermissionAttribute.

  • Gesamtkosten: ActiveX-Steuerelemente, die einem Windows Form hinzugefügt werden, werden komplett mit diesem Windows Form bereitgestellt. Dadurch können die erstellten Dateien unter Umständen sehr groß werden. Darüber hinaus erfordert das Verwenden von ActiveX-Steuerelementen in Windows Forms, dass Einträge in der Registrierung vorgenommen werden. Dies ist invasiver für den Computer eines Benutzers als Windows Forms-Steuerelemente, die dies nicht erfordern.

    Anmerkung

    Zum Arbeiten mit ActiveX-Steuerelementen ist ein COM-Interop-Wrapper erforderlich. Weitere Informationen finden Sie unter COM-Interoperabilität in Visual Basic und Visual C#.

    Anmerkung

    Wenn der Name eines Members des ActiveX-Steuerelements mit einem im .NET Framework definierten Namen übereinstimmt, versieht der ActiveX Control Importer den Membernamen mit dem Präfix Ctl, wenn die von AxHost abgeleitete Klasse erstellt wird. Wenn das ActiveX-Steuerelement beispielsweise einen Member mit dem Namen Layout besitzt, wird dieser in der abgeleiteten AxHost-Klasse in CtlLayout umbenannt, da das Layout-Ereignis in .NET Framework definiert ist.

Siehe auch