Considerazioni sull'inserimento di controlli ActiveX in Windows Form

Sebbene i Windows Form siano stati ottimizzati per contenere i controlli Windows Form, è comunque possibile utilizzare controlli ActiveX. Di seguito sono elencati alcuni elementi di cui tenere conto durante la pianificazione di un'applicazione che utilizzi i controlli ActiveX:

  • Sicurezza   In Common Language Runtime le funzionalità di sicurezza dall'accesso di codice sono state potenziate. Le applicazioni che utilizzano Windows Form possono essere eseguite in un ambiente completamente attendibile senza alcun problema e in un ambiente parzialmente attendibile con la possibilità di accedere alla maggior parte delle funzionalità. I controlli dei Windows Form inoltre possono essere facilmente memorizzati in un browser. Con i controlli ActiveX dei Windows Form tuttavia non è possibile sfruttare i miglioramenti della sicurezza. L'esecuzione di un controllo ActiveX richiede l'autorizzazione per il codice non gestito. Tale autorizzazione viene impostata tramite la proprietà SecurityPermissionAttribute.UnmanagedCode. Per ulteriori informazioni sulla sicurezza e sull'autorizzazione per il codice non gestito, vedere la classe SecurityPermissionAttribute.

  • Costo di proprietà complessivo (TCO, Total Cost of Ownership)    Eventuali controlli ActiveX aggiunti a Windows Form vengono distribuiti per intero con lo specifico Windows Form, il che può comportare un significativo aumento delle dimensioni dei file creati. Per consentire l'uso dei controlli ActiveX nei Windows Form, inoltre, è necessaria una scrittura sul Registro di sistema. Per questa ragione i controlli ActiveX si rivelano particolarmente invasivi per i computer degli utenti rispetto ai controlli dei Windows Form, per i quali tale operazione non viene richiesta.

    Nota

    L'utilizzo di un controllo ActiveX richiede l'utilizzo di un wrapper di interoperabilità COM. Per ulteriori informazioni, vedere Interoperabilità COM in Visual Basic e in Visual C#.

    Nota

    Se il nome di un membro del controllo ActiveX corrisponde a un nome definito in .NET Framework, l'utilità di importazione di controlli ActiveX aggiunge al nome del membro il prefisso Ctl quando crea la classe derivata da AxHost. Se ad esempio il controllo ActiveX presenta un membro denominato Layout, tale membro viene rinominato CtlLayout nella classe derivata da AxHost poiché l'evento Layout è definito in .NET Framework.

Vedere anche

Attività

Procedura: aggiungere i controlli ActiveX a Windows Form

Riferimenti

Confronto tra controlli e oggetti programmabili in diversi linguaggi e librerie

Concetti

Sicurezza dall'accesso di codice

Altre risorse

Inserimento di controlli in Windows Form

Controlli per Windows Form