Considerazioni sull'inserimento di controlli ActiveX in Windows Form
Aggiornamento: novembre 2007
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. Tale autorizzazione viene impostata tramite 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, 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 di programmazione in diversi linguaggi e librerie
Altre risorse
Protezione dall'accesso di codice