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


Ограничения элементов управления Windows Forms в документах Office

Существуют некоторые различия между элементами управления Windows Forms, которые добавляются в документы Microsoft Office Word или листы Microsoft Office Excel, а также элементы управления Windows Forms, добавленные в Windows Forms. Например, при добавлении Button элемента управления в документ, свойства, такие как Dock, Anchorи TabIndex не ведут себя так, как можно ожидать.

Многие из этих различий вызваны тем, как элементы управления Windows Forms размещаются в документах. При добавлении элемента управления Windows Forms в документ среда выполнения набор средств Visual Studio для Office внедряет элемент ActiveX, который затем размещает элемент управления Windows Forms в документе. Элемент управления Windows Forms не внедрен непосредственно в документ.

Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO для Excel и Word. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

Ограничения методов и свойств элементов управления Windows Forms

Существует ряд методов и свойств элементов управления Windows Forms, которые не работают так же, как и в документе, и поэтому рекомендуется не использовать их. Например, установка таких свойств, как Dock и Anchor влияет только на положение элемента управления ActiveX контейнера, а не на документ. Ниже приведен список неподдерживаемых методов и свойств элементов управления Windows Forms для Word и Excel:

Вы также не можете задать Left или Top свойство элементов управления Windows Forms, которые находятся в соответствии с текстом документа Word. Элементы управления Windows Forms добавляются в соответствии с текстом в следующих случаях:

  • Вы программным способом добавляете элемент управления в документ Word и используете метод, указывающий диапазон расположения.

  • Элемент управления Windows Forms добавляется в документ Word во время разработки. Это можно изменить, изменив элемент управления в конструкторе.

Различия в элементах управления Windows Forms в документах Office

Элементы управления Windows Forms обычно имеют то же поведение в документе Office, что и в Windows Form, но некоторые различия существуют. В следующей таблице описываются различия, которые существуют для элементов управления Windows Forms в документах Office.

Функция Расхождение
Порядок вкладок управления Вы не можете переходить к элементам управления, размещенным на листе Excel или документе Word.
Группирование элементов управления Нельзя использовать GroupBox элемент управления для хранения других элементов управления в документе Office. При добавлении нескольких переключателей непосредственно в документ переключатели не являются взаимоисключающими. Вы можете написать код, чтобы сделать переключатели взаимоисключающими; Однако предпочтительный подход заключается в добавлении переключателей в элемент управления пользователем, а затем добавить элемент управления пользователем в документ. Дополнительные сведения см. в примере элементов управления Word или элементах управления Excel в примерах разработки Office и пошаговых руководствах.
Тип элемента управления Элементы управления Windows Forms, используемые в документах, упаковываются в класс, предоставляемый средой выполнения набор средств Visual Studio для Office, которая предоставляет дополнительные функциональные возможности, относящиеся к листу Excel или документу Word. Например, если на листе Excel есть элемент управления Button , обязательно укажите тип Button , а не Button при ссылке или приведение объекта.
Положение и размер элемента управления Размер и положение элемента управления определяются свойствами, которые являются частью элемента управления ActiveX контейнера. Свойства элемента управления ActiveX принимают значения, отличные от эквивалентных свойств элемента управления Windows Forms. Если задать Topсвойства элемента управления , HeightLeftили Width свойства элемента управления, оно измеряется в точках, а не в пикселях.
Управление положением в документах Word Если вы добавляете элементы управления в макет на основе потока, помните, что элементы управления будут передаваться с содержимым в качестве изменения содержимого. При перетаскивании элемента управления из панели элементов невозможно привязать элемент управления к абзацу, так как элемент управления добавляется в документ Word в соответствии с текстом. Если вы используете другой метод для добавления элемента управления, например двойного щелчка элемента управления, элемент управления вставляется в соответствии с параметром Word, заданным для вставки рисунков.

Невозможно задать Left или Top свойство элемента управления, встроенного в текст.

Элементы управления нельзя поместить в верхний или нижний колонтитул или в поддокументе.
События элементов управления Если элемент управления выбран, он вызывает события в следующем порядке:

1. Enter
2. GotFocus

При удалении элемента управления вызывает события в следующем порядке:

1. Leave
2. Validating
3. Validated
4. LostFocus
Управление масштабированием При изменении параметра масштабирования документа на элементы управления, отличные от 100%, отключаются, хотя они, как представляется, масштабируются с помощью документа. Например, если щелкнуть кнопку при увеличении документа на 130 %, отобразится сообщение об отключении элемента управления, пока не будет задано значение 100 %. Элементы управления будут работать правильно при изменении масштаба до 100 %.
Управление значениями свойств Хотя свойства элементов управления в Windows Form имеют целочисленное значение, они имеют одно значение для элементов управления в документе Word. В Excel значения свойств элементов управления имеют значение double. Height Если свойство элемента Width управления на листе превышает размер листа или экрана, значение усечено.
Изменение размера элемента управления Если изменить размер элемента управления в документе с помощью одного из восьми дескрипторов размера, новые измерения элементов управления не отражаются в окне "Свойства ", пока элемент управления не будет повторно выбран.
Поведение элемента управления Элементы управления на листе Excel могут вести себя непредсказуемо, когда окно листа разделено. Например, доступ к TextBox листу может быть доступен только в одном из окон.
Именование элементов управления Не удается использовать зарезервированные слова для элементов управления именами. Например, если добавить Button на лист и изменить имя в System, при сборке проекта возникают ошибки.
Программное добавление элементов управления Не используйте конструктор элемента управления для добавления элемента управления в документ во время выполнения. Вместо этого используйте вспомогательные методы, предоставляемые средой выполнения набор средств Visual Studio для Office. Например, используйте AddButton метод, чтобы добавить кнопку на лист. Если вы хотите добавить элемент управления, который не поддерживается этими вспомогательными методами, можно использовать AddControl этот метод. Дополнительные сведения см. в разделе "Добавление элементов управления в документы Office во время выполнения".
Копирование элементов управления При копировании элемента управления Windows Forms и вставки его в документ во время выполнения пустой элемент ActiveX контейнера будет вставлен в документ. Элемент управления Windows Forms не отображается в новом расположении, а код исходного элемента управления не копируется в элемент activeX контейнера.

Ограничения в проектах на уровне документа

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

Поддержка элементов управления во время разработки

Некоторые элементы управления Windows Forms удаляются из панели элементов при открытии листа Excel или документа Word в конструкторе Visual Studio. Это связано с техническими ограничениями или из-за того, что функциональность уже доступна в Word или Excel. Проекты Excel и Word поддерживают все элементы управления Windows Forms и другие компоненты, которые отображаются на панели элементов при фокусе документа, а также можно добавить сторонние элементы управления на лист или документ.

Примечание.

Все элементы управления удаляются из панели элементов при защите документа. Сведения о защите документов см. в разделе "Защита документов" в решениях на уровне документа.

Примечание.

Сторонние элементы управления должны иметь ComVisibleAttribute атрибут true для использования в решении Office.

Следующие элементы управления и компоненты недоступны на панели элементов:

Поддержка устаревших элементов ActiveX

Если вы создаете проект Office на уровне документа, использующий существующий документ Word или книгу Excel, содержащую элементы ActiveX, функциональные возможности элементов ActiveX не теряются; Однако нет поддержки добавления новых элементов ActiveX в документы из Visual Studio. Например, если в документе Word есть кнопка на панели элементов управления, на которой выполняется макрос Visual Basic для приложений (VBA), он будет продолжать запускать макрос после использования документа в проекте Office. Однако рекомендуется удалить элементы ActiveX и макросы VBA и заменить их элементами управления Windows Forms и управляемым кодом.