Sdílet prostřednictvím


Aspekty hostování ovládacího prvku ActiveX ve formuláři Windows

I když model Windows Forms byly optimalizované pro hostování ovládacích prvků model Windows Forms, můžete i nadále používat ovládací prvky technologie ActiveX. Při plánování aplikace, která používá ovládací prvky technologie ActiveX, mějte na paměti následující skutečnosti:

  • Zabezpečení modulu CLR (Common Language Runtime) bylo vylepšeno s ohledem na zabezpečení přístupu kódu. Aplikace s model Windows Forms můžou běžet v plně důvěryhodném prostředí bez problémů a v částečně důvěryhodném prostředí s většinou dostupných funkcí. model Windows Forms ovládací prvky je možné hostovat v prohlížeči bez komplikací. Technologie ActiveX ovládací prvky model Windows Forms však nemohou využít těchto vylepšení zabezpečení. Spuštění ovládacího prvku technologie ActiveX vyžaduje nespravované oprávnění ke kódu, které je nastaveno s SecurityPermissionAttribute.UnmanagedCode vlastností. Další informace o zabezpečení a nespravovaném kódu oprávnění naleznete v tématu SecurityPermissionAttribute.

  • Celkové náklady na vlastnictví technologie ActiveX ovládací prvky přidané do formuláře Windows Jsou nasazeny s tímto formulářem Windows Form v plném rozsahu, což může významně přidat k velikosti vytvořených souborů. Kromě toho použití ovládacích prvků technologie ActiveX na model Windows Forms vyžaduje zápis do registru. To je invazivnější pro počítač uživatele než model Windows Forms ovládací prvky, které to nevyžadují.

    Poznámka:

    Práce s ovládacím prvku technologie ActiveX vyžaduje použití obálky zprostředkovatele komunikace modelu COM. Další informace naleznete v tématu Interoperabilita modelu COM v jazyce Visual Basic a Visual C#.

    Poznámka:

    Pokud název člena ovládacího prvku technologie ActiveX odpovídá názvu definovanému v rozhraní .NET Framework, bude nástroj technologie ActiveX Control Importer při vytváření odvozené třídy předponu názvu člena AxHost Ctl. Pokud má například ovládací prvek technologie ActiveX člen s názvem Layout, přejmenuje se CtlLayout v odvozené třídě AxHost, protože událost Layout je definována v rozhraní .NET Framework.

Viz také