Show / Hide Table of Contents

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

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

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

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

    Note

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

    Note

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

См. также

  • Практическое руководство. Добавление элементов управления ActiveX в формы Windows Forms
  • Управление доступом для кода
  • Сравнение элементов управления и программируемых объектов в разных языках и библиотеках
  • Размещение элементов управления в формах Windows Forms
  • Элементы управления Windows Forms
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX