Ограничения по использованию элементов управления Windows Forms в документах Office
Обновлен: Июль 2008
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Проекты уровня документа
Проекты уровня приложения
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
Элементы управления Windows Forms, добавляемые в документы Microsoft Office Word или книги Microsoft Office Excel, отличаются от элементов управления Windows Forms, добавляемых в формы Windows Forms. Например, при добавлении элемента управления Button в документ поведение таких свойств, как Dock, Anchor и TabIndex, отличается от ожидаемого.
Многие из этих различий обусловлены способом размещения элементов управления Windows Forms в документах. При добавлении элемента управления Windows Forms в документ Visual Studio Tools for Office встраивает элемент управления ActiveX, размещающий элемент управления Windows Forms в документе. Элемент управления Windows Forms не внедряется непосредственно в документ.
Ограничения методов и свойств элементов управления Windows Forms
Существует ряд методов и свойств элементов управления Windows Forms, которые по-разному ведут себя в документе и в форме Windows Forms; тем не менее их использование не рекомендуется. Например, установка таких свойств, как Dock и Anchor, влияет только на положение элемента управления Windows Forms относительно контейнера элемента управления ActiveX, а не относительно документа. Далее приведен список неподдерживаемых методов и свойств элементов управления Windows Forms для Word и Excel.
Неподдерживаемые методы и свойства элементов управления Excel:
Anchor
Dock
Location
TabIndex
TabStop
TopLevelControl
Неподдерживаемые методы и свойства элементов управления Word:
Hide
Show
Anchor
Dock
Location
TabIndex
TabStop
TopLevelControl
Visible
Также нельзя задать свойство Left или Top элементов управления Windows Forms, для которых в документе Word используется стиль обтекания "В тексте". Элементы управления Windows Forms добавляются в текст в следующих случаях:
Разработчик программными средствами добавляет элемент управления в документ Word и использует метод, определяющий диапазон местонахождения. Дополнительные сведения см. в разделе Вспомогательные методы для элементов управления Windows Forms.
Разработчик добавляет элемент управления Windows Forms в документ Word во время разработки. Это можно изменить, редактируя элемент управления в конструкторе. Дополнительные сведения см. в разделе Использование элементов управления Windows Forms в документах Word.
Отличия элементов управления Windows Forms, используемых в документах Office
Поведение элементов управления Windows Forms в документах Office, как правило, не отличается от их поведения в формах Windows Forms. Однако некоторые различия все же существуют. В следующей таблице описаны различия, существующие для элементов управления Windows Forms в документах Office.
Функциональная возможность |
Различие |
---|---|
Последовательность переходов элементов управления |
Нельзя осуществлять переход между элементами управления в рабочем листе Excel или документе Word. |
Группирование элементов управления |
Нельзя использовать элемент управления GroupBox с целью помещения других элементов в документ Office. При добавлении непосредственно в документ нескольких переключателей их значения не являются взаимоисключающими. Можно написать код, который сделает переключатели взаимоисключающими; однако рекомендуется внести переключатели в пользовательский элемент управления с последующим добавлением элемента к документу. Дополнительные сведения см. в разделе Пример Word Controls или Примеры элементов управления Excel. |
Тип элемента управления |
Используемые в документах элементы управления Windows Forms упаковываются в класс, предоставляемый Visual Studio Tools for Office, который обеспечивает элементы дополнительными функциональными возможностями, характерными для рабочего листа Excel или документа Word. Например, если при создании ссылки или преобразовании формата объекта на рабочем листе Excel выбран элемент управления Button, убедитесь в том, что указан тип Microsoft.Office.Tools.Excel.Controls.Button, а не System.Windows.Forms.Button. |
Размер и размещение элементов управления |
Размер и позиция элемента управления определяются свойствами, которые являются составляющими контейнера элемента управления ActiveX. Свойства элемента управления ActiveX принимают значения, отличные от значений эквивалентных свойств элемента Windows Forms. Задавая такие свойства элемента управления как Top, Left, Height или Width необходимо учитывать, что эти размеры задаются в пунктах, а не в точках. |
Положение элемента управления в документах Word |
При добавлении элементов управления в потоковый макет необходимо учитывать, что элементы управления будут смещаться вместе с содержимым в соответствии с его изменениями. Нельзя прикрепить элемент управления к параграфу, перетаскивая его с элемента управления Панель элементов, поскольку элемент управления добавляется в документ Word с помощью стиля обтекания "В тексте". Элемент управления можно вставить другим образом: например, двойной щелчок на элементе добавит его к тексту, в соответствии с параметром Word, установленным для добавления изображений. Для элементов управления, при добавлении которых используется стиль обтекания "В тексте", нельзя установить свойства Left или Top. Нельзя помещать элементы управления в верхний и нижний колонтитулы, а также во вложенный документ. |
События элементов управления |
При выборе элемента управления, события возникают в следующем порядке.
При отмене выбора элемента управления события возникают в следующем порядке.
|
Масштабирование элемента управления |
При выборе значения масштабирования, отличного от 100 % элементы управления в документе отключаются, хотя их видимый масштаб изменяется вместе с документом. Например, нажатие кнопки при заданном значении масштаба 130 % вызовет появление сообщения о том, что элемент управления не будет активен до тех пор, пока значение масштаба не будет установлено равным 100 %. Правильная работа элементов управления возможна только, когда значение масштаба равно 100 %. |
Свойства элемента управления |
Несмотря на то, что в Windows Forms для свойств элементов управления устанавливается целое значение, в документе Word для свойств устанавливается единое значение. В Excel для свойств элементов управления устанавливается двойное значение. Если значения таких свойств элементов управления, как Height и Width, превышают размер рабочего листа или экрана, значения урезаются. |
Изменение размеров элемента управления |
При изменении размеров элемента управления с помощью одного из восьми маркеров изменения размера, измерения не будут отображаться в окне Свойства, пока элемент управления не будет выбран повторно. |
Поведение элемента управления |
При использовании разделенного окна листа поведение элементов управления в листе Excel может быть непредсказуемым. Например, доступ к TextBox на рабочем листе может предоставляться только в одном из окон. |
Имя элемента управления |
Для наименования элементов управления нельзя использовать зарезервированные слова. Например, если во время построения проекта производится добавление элемента управления Button в лист и его имя изменяется на Система, возникает ошибка. |
Добавление элементов управления программными средствами |
Нельзя использовать конструктор элемента управления для добавления элемента управления к документу во время выполнения. Вместо этого следует использовать вспомогательные методы, предусмотренные Visual Studio Tools for Office. Например, используйте метод AddButton, чтобы добавить кнопку в рабочий лист. Если необходимо добавить элемент управления, которые не поддерживается предоставляемыми вспомогательными методами, можно использовать метод AddControl. Дополнительные сведения см. в разделе Добавление элементов управления в документы Office во время выполнения. |
Копирование элемента управления |
Если скопировать элемент управления Windows Forms и вставить его в документ во время выполнения, незаполненный контейнер элемента ActiveX вставляется в документ. При таком добавлении элемент управления Windows Forms не отображается в новом месте, и код, содержащий исходный элемент управления, не копируется в контейнер элемента ActiveX. |
Ограничения в проектах уровня документа
Некоторые из ограничений на использование элементов управления Windows Forms в документах являются уникальными для проектов уровня документа.
Поддержка элементов управления во время разработки
Некоторые элементы управления Windows Forms удаляются из панели элементов, если рабочий лист Excel или документ Word открыты в конструкторе Visual Studio. Это происходит из-за технических ограничений или потому что эти функциональные возможности уже доступны в Word или Excel. Visual Studio Tools for Office поддерживает все элементы управления Windows Forms и другие компоненты, отображаемые в элементе управления Панель элементов (если документ находится в фокусе), и позволяет добавлять в документ элементы сторонних производителей.
Примечание. |
---|
Если документ защищен, все элементы управления удаляются из панели элементов. Дополнительные сведения о защите документа см. в разделе Защита документов в решениях уровня документа. |
Примечание. |
---|
Для использования в решении Visual Studio Tools for Office у элементов управления независимых производителей должен быть атрибут ComVisibleAttribute со значением true. |
В панели элементов недоступны следующие элементы управления и компоненты:
CrystalReportViewer
Поддержка существующих элементов управления ActiveX
При создании проекта Visual Studio Tools for Office на основе существующего документа Word или рабочего листа Excel, содержащего элементы управления ActiveX, функциональные возможности элементов управления ActiveX сохраняются, однако добавление новых элементов управления ActiveX к документам Visual Studio Tools for Office не поддерживается. Например, если в документе Word в панели элементов Элементы управления предусмотрена кнопка запуска макроса Visual Basic для приложений (VBA), выполнение макроса будет продолжен после завершения использования документа в проекте Visual Studio Tools for Office. Тем не менее следует удалить элементы управления ActiveX и макросы VBA и заменить их на элементы управления Windows Forms и управляемый код.
См. также
Задачи
Практическое руководство. Добавление элементов управления Windows Forms в документы Office
Основные понятия
Общие сведения об использовании элементов управления Windows Forms в документах Office
Добавление элементов управления в документы Office во время выполнения
Другие ресурсы
Элементы управления в документах Office
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Июль 2008 |
Добавлены сведения о различиях между общими ограничениями и ограничениями, специфическими для настроек на уровне документе. |
Изменение функции SP1. |