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


Ограничения по использованию элементов управления 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 Tools for Office (cреда выполнения) встраивает элемент управления ActiveX, размещающий элемент управления Windows Forms в документе.Элемент управления Windows Forms не внедряется непосредственно в документ.

Применение. Сведения этого раздела применяются к проектам уровня документа и уровня приложения для следующих приложений: Excel 2013 и Excel 2010; Word 2013 и Word 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.

Ограничения методов и свойств элементов управления 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 в документ Word во время разработки.Это можно изменить, редактируя элемент управления в конструкторе.

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

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

Функциональная возможность

Различие

Последовательность переходов элементов управления

Нельзя осуществлять переход между элементами управления в рабочем листе Excel или документе Word.

Группирование элементов управления

Нельзя использовать элемент управления GroupBox с целью помещения других элементов в документ Office.При добавлении непосредственно в документ нескольких переключателей их значения не являются взаимоисключающими.Можно написать код, который сделает переключатели взаимоисключающими; однако рекомендуется внести переключатели в пользовательский элемент управления, а затем добавить этот элемент управления в документ.Дополнительные сведения см. в примере элементов управления Word и элементов управления Excel в разделе Образцы и пошаговые руководства разработки Office.

Тип элемента управления

Используемые в документах элементы управления Windows Forms упаковываются в класс, предоставляемый Visual Studio Tools for Office (cреда выполнения), который обеспечивает элементы дополнительными функциональными возможностями, характерными для рабочего листа 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.

Нельзя помещать элементы управления в верхний и нижний колонтитулы, а также во вложенный документ.

События элементов управления

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

  1. Enter

  2. GotFocus

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

  1. Leave

  2. Validating

  3. Validated

  4. LostFocus

Масштабирование элемента управления

При выборе значения масштабирования, отличного от 100 % элементы управления в документе отключаются, хотя их видимый масштаб изменяется вместе с документом.Например, если нажать кнопку при 130% масштабировании документа, будет отображено сообщение об отключении элемента управления до возвращения масштабирования до значения 100%.Элементы управления будут работать правильно после возврата масштабирования в значение 100%.

Свойства элемента управления

Несмотря на то, что в Windows Forms для свойств элементов управления устанавливается целое значение, в документе Word для свойств устанавливается единое значение.В Excel для свойств элементов управления устанавливается двойное значение.Если значения таких свойств элементов управления, как Height и Width, превышают размер рабочего листа или экрана, значения урезаются.

Изменение размеров элемента управления

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

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

При использовании разделенного окна листа поведение элементов управления в листе Excel может быть непредсказуемым.Например, доступ к TextBox на рабочем листе может предоставляться только в одном из окон.

Имя элемента управления

Для наименования элементов управления нельзя использовать зарезервированные слова.Например, если во время построения проекта производится добавление элемента управления Button в лист и его имя изменяется на Система, возникает ошибка.

Добавление элементов управления программными средствами

Нельзя использовать конструктор элемента управления для добавления элемента управления к документу во время выполнения.Вместо этого следует использовать вспомогательные методы, предусмотренные в Visual Studio Tools for Office (cреда выполнения).Например, используйте метод AddButton, чтобы добавить кнопку в рабочий лист.Если необходимо добавить элемент управления, которые не поддерживается предоставляемыми вспомогательными методами, можно использовать метод AddControl.Дополнительные сведения см. в разделе Добавление элементов управления в документы Office во время выполнения.

Копирование элемента управления

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

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

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

ms178765.collapse_all(ru-ru,VS.110).gifПоддержка элементов управления во время разработки

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

ПримечаниеПримечание

Если документ защищен, все элементы управления удаляются из панели элементов.Дополнительные сведения о защите документа см. в разделе Защита документов в решениях уровня документа.

ПримечаниеПримечание

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

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

ms178765.collapse_all(ru-ru,VS.110).gifПоддержка существующих элементов управления ActiveX

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

См. также

Задачи

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

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

Общие сведения об использовании элементов управления Windows Forms в документах Office

Добавление элементов управления в документы Office во время выполнения

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

Элементы управления в документах Office