Поделиться через


Вопросы размещения элемента управления ActiveX в форме Windows Forms

Несмотря на то, что Windows Forms оптимизированы для работы с элементами управления Windows Forms, можно также использовать элементы управления ActiveX. Ниже приведены вопросы, о которых следует помнить при планировании приложения, использующего элементы управления ActiveX.

  • Безопасность Общеязыковая среда выполнения была усовершенствована в отношении управления доступом для кода. Приложения, использующие Windows Forms, могут без проблем запускаться в полностью доверенных средах и, сохраняя большинство функциональных возможностей, — в частично доверенных средах. Элементы управления Windows Forms легко воспринимаются обозревателем. Напротив, элементы управления ActiveX в Windows Forms не могут использовать преимущества, которые появились в результате усовершенствования безопасности. Для запуска элемента управления ActiveX требуется разрешение на запуск неуправляемого кода, которое устанавливается свойством SecurityPermissionAttribute.UnmanagedCode. Дополнительные сведения о безопасности и разрешениях неуправляемого кода см. в разделе Класс SecurityPermissionAttribute.

  • Совокупная стоимость владения Элементы управления ActiveX, добавляемые в форму Windows Forms, развертываются полностью вместе с формой, что может существенно увеличить размер создаваемых файлов. Помимо этого, при использовании элементов управления ActiveX в Windows Forms требуется записывать данные в реестр. Такое поведение является более активным по отношению к компьютеру пользователя, чем поведение элементов управления Windows Forms, которые не нуждаются в этом.

    Примечание

    Для работы с элементами управления ActiveX требуется использование оболочки взаимодействия COM.Дополнительные сведения см. в разделе Взаимодействие COM в Visual Basic и Visual C#.

    Примечание

    Если имя члена элемента управления ActiveX соответствует имени, определенному в .NET Framework, то инструмент для импорта элемента управления ActiveX добавит префикс Ctl к имени члена при создании производного класса AxHost.Например, если у элемента управления ActiveX имеется член под именем Layout, он переименовывается в CtlLayout в классе, производном от AxHost, поскольку событие Layout определено в .NET Framework.

См. также

Задачи

Практическое руководство. Добавление элементов управления ActiveX в формы Windows Forms.

Ссылки

Сравнение элементов управления и программируемых объектов в разных языках и библиотеках

Основные понятия

Управление доступом для кода

Другие ресурсы

Размещение элементов управления в формах Windows Forms

Элементы управления Windows Forms