Aspekte beim Hosten eines ActiveX-Steuerelements in Windows Forms

Obwohl Windows Forms zum Hosten von Windows Forms-Steuerelementen optimiert wurde, können Sie weiterhin ActiveX-Steuerelemente verwenden. Bei Verwendung von ActiveX-Steuerelementen in einer Anwendung sollten Sie Folgendes berücksichtigen:

  • Sicherheit Die Common Language Runtime wurde im Hinblick auf die Codezugriffssicherheit verbessert. Anwendungen mit Windows Forms können in einer voll vertrauenswürdigen Umgebung uneingeschränkt und in einer halb vertrauenswürdigen Umgebung mit Zugriff auf die meisten verfügbaren Funktionen ausgeführt werden. Windows Forms-Steuerelemente können problemlos in einem Browser integriert werden. Diese verbesserten Sicherheitsmerkmale können jedoch nicht genutzt werden, wenn ActiveX-Steuerelemente für Windows Forms verwendet werden. Zum Ausführen eines ActiveX-Steuerelements ist die Berechtigung für nicht verwalteten Code erforderlich. Diese wird mit der SecurityPermissionAttribute.UnmanagedCode-Eigenschaft festgelegt. Weitere Informationen zur Berechtigung für nicht verwalteten und unsicheren Code finden Sie unter SecurityPermissionAttribute.

  • Gesamtkosten ActiveX-Steuerelemente, die einem Windows Form hinzugefügt werden, werden komplett mit diesem Windows Form weitergegeben. Dadurch können die erstellten Dateien unter Umständen sehr groß werden. Außerdem muss bei Verwendung von ActiveX-Steuerelementen für Windows Forms die Registrierung geändert werden. Damit wird stärker in den Computer des Benutzers eingegriffen als mit Windows Forms-Steuerelementen, bei denen dies nicht erforderlich ist.

    Hinweis

    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#.

    Hinweis

    Wenn der Name eines Members des ActiveX-Steuerelements mit einem in .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.

Weitere Informationen