Размер
Погон: создание базового шаблона формы с кодом
Play

Погон: создание базового шаблона формы с кодом

Бизнес-логику для приложения Microsoft InfoPath можно написать на языке Visual Basic или C#, открыв шаблон формы в конструкторе InfoPath и воспользовавшись одной из команд интерфейса пользователя для добавления обработчика событий, который откроет набор Visual Studio 2012 для написания необходимого кода. По умолчанию проекты шаблонов форм создаются с помощью набора средств Visual Studio 2012, использующего новую объектную модель управляемого кода, которая предоставляется пространством имен Microsoft.Office.InfoPath

В первом пошаговом руководстве демонстрируются методы создания простого приложения "Hello World" с помощью языка C# или Visual Basic в наборе Visual Studio 2012. В заключении руководства приведен пример кода, демонстрирующий принципы использования свойства UserName класса User для получения имени текущего пользователя и заполнения элемента управления Текстовое поле полученным значением.

Предварительные требования

Для выполнения инструкций этого пошагового руководства в наборе Visual Studio 2012 необходимо установить следующее программное обеспечение:

  • Microsoft InfoPath с набором Visual Studio 2012.

Создание примера "Hello World" в наборе средств Visual Studio Tools для работы с приложениями

В следующем пошаговом руководстве демонстрируется, как написать в наборе Visual Studio 2012 код, отображающий простое диалоговое окно с оповещением путем написания обработчика события Clicked класса ButtonEvent , связанного с элементом управления Кнопка.

Создание нового проекта и выбор языка программирования

Запустите конструктор InfoPath и дважды щелкните шаблон формы Пустой (редактор InfoPath).

Чтобы выбрать язык программирования, нажмите кнопку Microsoft Office, выберите Параметры форм, в списке Категории выберите Программирование, а затем выберите либо Visual Basic, либо C# в раскрывающемся списке Язык кода шаблона формы.

[!Примечание] При выборе других вариантов языков программирования в списке Язык кода шаблона формы обеспечивается совместимость с более ранними версиями InfoPath. Варианты C# (совместимый с InfoPath 2007) и Visual Basic (совместимый с InfoPath 2007) работают с соблюдением описанных здесь процедур. Однако дополнительные сведения об использовании C# (совместимый с InfoPath 2003) и Visual Basic (совместимый с InfoPath 2003) см. в разделе Пошаговое руководство. Создание и отладка начального шаблона формы с помощью объектной модели InfoPath 2003.

Теперь можно добавить элемент управления Кнопка и создать для него обработчик событий.

Добавление элемента управления "Кнопка" и обработчика событий

В группе Элементы управления нажмите элемент управления Кнопка, чтобы добавить его в форму.

Дважды щелкните элемент управления Кнопка, введите значение Hello для свойства Надпись на вкладке Свойства ленты и щелкните Пользовательский код. При получении запроса сохраните форму и назовите ее HelloWorld.

После этого откроется среда Набор средств Microsoft Visual Studio для работы с приложениями с курсором на обработчике событий Clicked для элемента управления Кнопка.

Теперь можно добавить код формы для обработчика событий кнопки.

Добавьте в обработчик событий код "Hello World" и просмотрите форму

В структуре обработчика событий введите:

Код в шаблоне формы должен выглядеть примерно следующим образом:

Переключитесь в окно режима конструктора InfoPath.

Нажмите кнопку Просмотр на панели инструментов Главная.

Нажмите на форме кнопку Hello.

Отобразится окно с текстовым сообщением "Hello World!"

В следующей процедуре показано, как добавить отладочные точки останова в код формы.

Отладка кода формы

Переключитесь обратно в окно набора Visual Studio 2012.

Щелкните серую полосу слева от строки:

Отобразится красный кружок, а строка кода будет выделена, указывая, что при запуске кода формы возникнет пауза в этой точке останова.

В меню Отладка выберите пункт Начать отладку (или нажмите клавишу F5).

В окне InfoPath Просмотр нажмите кнопку Hello на форме.

Фокус переместится на редактор кода набора Visual Studio 2012 и выделится строка точки останова.

Чтобы продолжить выполнение кода, в меню Отладка выберите пункт Шаг с обходом (или нажмите сочетание клавиш SHIFT+F8).

Выполнится код обработчика событий, и отобразится сообщение "Hello World!".

Нажмите кнопку ОК, чтобы вернуться в редактор кода набора Visual Studio 2012, а затем щелкните Остановить отладку в меню Отладка (или нажмите сочетание клавиш CTRL+ALT+BREAK).

Получение имени текущего пользователя

В следующем примере демонстрируется, как использовать свойство UserName класса User для получения имени текущего пользователя и заполнения значения элемента управления Текстовое поле с помощью обработчика событий Loading .

Заполнение элемента управления Текстовое поле выполняется с помощью экземпляра класса XPathNavigator для написания имени текущего пользователя в узле XML, к которому привязан элемент управления.

Сначала свойство MainDataSource класса XmlForm вызывается для получения экземпляра класса DataSource , представляющего базовый XML-документ формы. Затем объект DataSource вызывает метод CreateNavigator , создающий объект XPathNavigator и размещающий его в корневом узле основного источника данных формы.

Метод SelectSingleNode класса XPathNavigator вызывается для выбора поля employee в источнике данных формы. В заключение вызывается метод SetValue для установки значения поля с использованием свойства UserName .

Дополнительные сведения о работе с System.Xml в шаблонах управляемых форм кода см. в руб. Работа с классами XPathNavigator и XPathNodeIterator.

Добавление обработчика событий загрузки

Откройте шаблон формы "HelloWorld", созданный в предыдущем пошаговом руководстве.

На вкладке Просмотр выберите Отобразить поля.

Щелкните правой кнопкой мыши папку myFields, а затем выберите Добавить.

В поле Имя введите значение employee и нажмите кнопку ОК.

Перетащите поле employee в текущее представление.

На вкладке Разработчик щелкните Событие "Загрузка".

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

В редакторе кода введите следующее:

Переключитесь в окно конструктора форм InfoPath и нажмите кнопку Просмотр на вкладке Главная, чтобы просмотреть форму.

В поле employee должно быть автоматически введено имя пользователя.

Дальнейшие действия

Сведения о работе с обработчиками событий для других элементов управления и событий см. в добавлении обработчик событий.

Дополнительные сведения о предварительном просмотре и отладке кода в шаблонах форм см. в дополнительных сведениях о шаблонах предварительного просмотра и отладки шаблонов форм InfoPath с кодом.

Сведения о развертывании шаблона форм с управляемым кодом см. в ссылке Развертывание шаблонов форм InfoPath с кодом.

Сведения об объектной модели InfoPath и распространенных задачах программирования для шаблонов форм с управляемым кодом см. в разделе Ознакомление с объектной моделью InfoPath и распространенными задачами разработчиков

📎📎📎📎📎📎📎📎📎📎