Вопросы размещения элемента управления 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.
Ссылки
Сравнение элементов управления и программируемых объектов в разных языках и библиотеках