Considerazioni sull'inserimento di controlli ActiveX in Windows Form

Anche se Windows Form è stato ottimizzato per ospitare i controlli Windows Form, è tuttavia possibile usare i controlli ActiveX. Quando si pianifica un'applicazione che usa i controlli ActiveX, tenere presenti le considerazioni seguenti:

  • Sicurezza Common Language Runtime è stato migliorato dal punto di vista della sicurezza dall'accesso di codice. Le applicazioni con Windows Form possono essere eseguite in un ambiente completamente attendibile senza problemi e in un ambiente parzialmente attendibile con accesso alla maggior parte delle funzionalità. I controlli Windows Form possono essere ospitati in un browser senza complicazioni. I controlli ActiveX in Windows Form tuttavia non possono sfruttare i vantaggi offerti da questi miglioramenti della sicurezza. L'esecuzione di un controllo ActiveX richiede l'autorizzazione per il codice non gestito, impostata con la SecurityPermissionAttribute.UnmanagedCode proprietà . Per altre informazioni sulla sicurezza e sull'autorizzazione del codice non gestito, vedere SecurityPermissionAttribute.

  • Costo totale di proprietà I controlli ActiveX aggiunti a un Windows Form vengono interamente distribuiti con tale Windows Form, aumentando considerevolmente le dimensioni dei file creati. Per usare i controlli ActiveX in Windows Form, è anche necessaria un'operazione di scrittura nel Registro di sistema, che è più invasiva per il computer di un utente dei controlli Windows Form, per cui invece non è necessaria.

    Nota

    Per usare un controllo ActiveX, è necessario un wrapper di interoperabilità COM. Per altre informazioni, vedere Interoperabilità COM in Visual Basic e Visual C#.

    Nota

    Se il nome di un membro del controllo ActiveX corrisponde a un nome definito in .NET Framework, l'utilità di importazione del controllo ActiveX prefischerà il nome del membro con Ctl quando crea la AxHost classe derivata. Ad esempio, se il controllo ActiveX ha un membro denominato Layout, viene rinominato CtlLayout nella classe derivata da AxHost perché l'evento Layout è definito all'interno di .NET Framework.

Vedi anche