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


IInfoPathViewControl Интерфейс

Определение

Представляет элемент управления, присутствующий в представлении.

public interface class IInfoPathViewControl
[System.Runtime.InteropServices.Guid("096CD6DA-0786-11D1-95FA-0080C78EE3BB")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IInfoPathViewControl
type IInfoPathViewControl = interface
Public Interface IInfoPathViewControl
Атрибуты

Примеры

В следующем примере метод Import интерфейса IInfoPathDataImporter используется для итерации по mshtml. Коллекция IEnumUnknown элементов управления IInfoPathViewControl в представлении активной формы.

Подпрограмма импорта является основной частью решения, используемого для создания пользовательского средства импорта данных. Для проекта Visual Studio требуется ссылка на библиотеку типов Microsoft Office InfoPath 2.0 и System.Windows.Forms с инструкциями Imports для каждого из них, а также mshtml. Инструкции implements необходимы для создания сигнатур для методов, предоставляемых пользовательскими интерфейсами импорта данных, включая IInfoPathDataImporter, IInfoPathDataImporterFields, IInfoPathViewControlи IPropertyBag.

Примечание. Чтобы создать пользовательский импорт данных с помощью библиотеки классов .NET, установите флажок Зарегистрировать для COM-взаимодействия на вкладке Компиляция редактора свойств класса.

Примечание. Чтобы выполнить отладку пользовательского средства импорта данных, задайте для параметра Действие запуска в Visual Studio значение Запуск внешней программы и перейдите к INFOPATH.EXE, расположенному по адресу <диск>:\Program Files\Microsoft Office\Office12\. Этот параметр доступен на вкладке Отладка редактора свойств класса.

Imports Microsoft.Office.Interop.InfoPath
Imports System.Windows.Forms
Imports mshtml

&lt;ComClass(Class1.ClassId, Class1.InterfaceId, Class1.EventsId)&gt; Public Class Class1
   Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporter
   Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporterFields
   Implements Microsoft.Office.Interop.InfoPath.IInfoPathViewControl
   Implements Microsoft.Office.Interop.InfoPath.IPropertyBag

   Public Const ClassId As String = _
      "1FEB0DF8-E7F1-4b21-A9EE-B06D5FECC572"
   Public Const InterfaceId As String = _
      "9F9F685C-71A0-46ec-A7F9-A86AF8CBC2A8"
   Public Const EventsId As String = _
      "ED7C0C49-3F89-40a2-A50E-C59E8F682B08" 

Public Sub Import(
   _ByVal pPrintSettings As Microsoft.Office.Interop.InfoPath.IPropertyBag, _
   ByVal punkViewControls As mshtml.IEnumUnknown) _
   Implements Microsoft.Office.Interop.InfoPath.IInfoPathDataImporter.Import

   Dim pControl As IInfoPathViewControl
   Dim pUnk As Object
   Dim pcelt As UInt16 = 1
   Dim pceltFetched As UInt16 = 0

   Try
      'Gets first control in the view
      punkViewControls.RemoteNext(pcelt, pUnk, pceltFetched)

      Do While pUnk.ToString() &lt;&gt; "Nothing"
         pControl = pUnk
         MessageBox.Show(pControl.ControlType)
         'Gets next control in the view
         punkViewControls.RemoteNext(pcelt, pUnk, pceltFetched)
      Loop
   Catch e As Exception
      If e.Message = _
         "Object reference not set to an instance of an object." Then
         ' Signals the end of the enumeration/controls in the view
      Else
         MessageBox.Show("Error: " &amp; e.ToString &amp; " " &amp; e.Message)
      End If
   End Try
End Sub

Комментарии

Интерфейс IInfoPathViewControl , используемый в сочетании с IInfoPathDataImporter интерфейсом, позволяет разработчикам получать конкретные сведения об элементах управления в представлении, таких как ControlType и DataType, Top и Left позиции, XML-код NodeName , связанный с элементом InputScopes(IntPtr, UInt32, IEnumString, String)управления, и . Свойство Value является единственным свойством, которое можно задать.

Список элементов управления, которые перечислены, если они присутствуют в представлении, см. в GetControls(IEnumUnknown) методе IInfoPathDataImporterFields интерфейса. Список допустимых типов данных, которые можно использовать с определенными элементами управления, см. в Value свойстве интерфейса IInfoPathViewControl .

Дополнительные сведения о программном импорте данных в форму InfoPath см. в центре разработчиков Microsoft Office на портале разработчика InfoPath.

Свойства

ControlType

Возвращает тип элемента управления текущего элемента управления в перечислении.

DataType

Возвращает тип данных элемента управления в представлении.

Height

Возвращает высоту текущего элемента управления в перечислении.

Left

Возвращает смещение из левой части представления текущего элемента управления в перечислении.

NodeName

Возвращает имя узла, связанного с текущим элементом управления в перечислении.

Top

Получает смещение из верхней части представления текущего элемента управления в перечислении.

Value

Возвращает или задает значение текущего элемента управления в перечислении.

Width

Возвращает ширину текущего элемента управления в перечислении.

Методы

InputScopes(IntPtr, UInt32, IEnumString, String)

Возвращает область ввода текущего элемента управления в перечислении.

Применяется к