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:

  • Protezione   In Common Language Runtime le funzionalità di protezione 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 protezione. L'esecuzione di un controllo ActiveX richiede l'autorizzazione per il codice non gestito, che viene impostata con la proprietà SecurityPermissionAttribute.UnmanagedCode. Per ulteriori informazioni sulla protezione 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, al nome del membro verrà assegnato il prefisso Ctl quando viene creata la classe derivata da AxHost mediante l'utilità di importazione di controlli ActiveX. Se ad esempio il controllo ActiveX dispone di un membro denominato Layout, 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 di programmazione in diversi linguaggi e librerie

Altre risorse

Protezione dall'accesso di codice
Inserimento di controlli in Windows Form
Controlli per Windows Form