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


Практическое руководство. Получение доступа к данным приложения

Объектная модель управляемого кода InfoPath предоставляет объекты и коллекции, которые можно использовать для получения доступа к сведениям о приложении InfoPath, включая информацию, связанную с базовым XML-документом формы и файлом определения формы (XSF-файлом). Доступ к этим данным предоставляется через объект верхнего уровня в иерархии объектной модели InfoPath, экземпляр которой создается путем использования класса Application.

В проекте шаблона формы InfoPath с управляемым кодом, созданном с помощью Набор средств Microsoft Visual Studio для приложений (VSTA) или Visual Studio с Набор средств Microsoft Visual Studio 2005 для Microsoft Office System 2007, можно использовать ключевое слово this (C#) или Me (Visual Basic) для доступа к экземпляру класса Application, который представляет текущее приложение InfoPath и которым затем можно воспользоваться для доступа к свойствам и методам класса Application.

Пример

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

В следующем примере свойства Name и Version класса Application используются для возвращения имени и номера версии запущенного экземпляра InfoPath. Свойство LanguageSettings затем используется для возвращения объекта LanguageSettings, который, в свою очередь, используется для возвращения идентификатора LCID (четырехзначного числа) для языка, применяемого в настоящий момент для интерфейса пользователя InfoPath. И наконец, вся эта информация отображается в окне сообщения.

ЗаметкаВнимание!

Чтобы свойство LanguageSettings работало, необходимо указать ссылку на библиотеку объектов Microsoft Office 12.0 (на вкладке COM диалогового окна Добавить ссылку в Набор средств Microsoft Visual Studio для приложений (VSTA) или Visual Studio 2005). При этом будет указана ссылка на пространство имен Microsoft.Office.Core, содержащее класс LanguageSettings. Кроме того, форму необходимо запускать с полным доверием.

В этом примере требуется директива using или Imports для пространства имен Microsoft.Office.Core в разделе объявлений модуля кода формы.

string appName = this.Application.Name;
string appVersion = this.Application.Version;
LanguageSettings langSettings = 
   (LanguageSettings)this.Application.LanguageSettings;
int langID = 
   langSettings.get_LanguageID(MsoAppLanaguageID.msoLanguageIDUI);

MessageBox.Show(
   "Name: " + appName + System.Environment.NewLine +
   "Version: " + appVersion + System.Environment.NewLine +
   "Language ID: " + langID);
Dim appName As String appName = Me.Application.Name
Dim appVersion As String = Me.Application.Version
Dim langSettings As LanguageSettings = _
   DirectCast(Me.Application.LanguageSettings, LanguageSettings)
Dim langID As Integer = _
   langSettings.LanguageID(MsoAppLanaguageID.msoLanguageIDUI)

MessageBox.Show( _
   "Name: " + appName + System.Environment.NewLine + _
   "Version: " + appVersion + System.Environment.NewLine + _
   "Language ID: " + langID)