Доступ к области формы во время выполнения
Применение |
---|
Сведения этого раздела применяется только к следующим типам проектов и версии Microsoft Office.Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов. Тип проекта
Версия Microsoft Office
|
Для доступа к областям форм из любого места проекта Outlook используется класс Globals.Дополнительные сведения о классе Globals см. в разделе Глобальный доступ к объектам в проектах Office.
Применение. Сведения этого раздела применяются к проектам уровня приложения для Outlook 2013 и Outlook 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.
Доступ к областям формы, отображаемым в определенном окне инспектора Outlook
Для доступа ко всем областям формы, отображаемым в указанном инспекторе Microsoft Outlook, необходимо вызвать свойство FormRegions класса Globals и передать ему объект Inspector, представляющий инспектор, в качестве параметра.
В следующем примере показано, как получить коллекцию областей формы, отображаемых в инспекторе, в котором в данный момент находится фокус.Далее в примере производится доступ к области формы в коллекции с именем formRegion1 и задается текст Hello World, отображаемый в текстовом поле.
Private Sub Access_Form_Regions_ByInspector()
Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
(Globals.ThisAddIn.Application.ActiveInspector())
formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByInspector()
{
WindowFormRegionCollection formRegions =
Globals.FormRegions
[Globals.ThisAddIn.Application.ActiveInspector()];
formRegions.FormRegion1.textBox1.Text = "Hello World";
}
Доступ к областям формы, отображаемым в определенном окне проводника Outlook
Для доступа ко всем областям формы, отображаемым в указанном проводнике Microsoft Outlook, необходимо вызвать свойство FormRegions класса Globals и передать ему объект Explorer, представляющий проводник, в качестве параметра.
В следующем примере показано, как получить коллекцию областей формы, отображаемых в проводнике, в котором в данный момент находится фокус.Далее в примере производится доступ к области формы в коллекции с именем formRegion1 и задается текст Hello World, отображаемый в текстовом поле.
Private Sub Access_Form_Regions_ByExplorer()
Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
(Globals.ThisAddIn.Application.ActiveExplorer())
formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByExplorer()
{
WindowFormRegionCollection formRegions =
Globals.FormRegions
[Globals.ThisAddIn.Application.ActiveExplorer()];
formRegions.FormRegion1.textBox1.Text = "Hello World";
}
Доступ ко всем областям формы
Для доступа ко всем областям формы, отображаемым во всех инспекторах и проводниках, обратитесь к свойству FormRegions класса Globals.
В следующем примере показано, как получить коллекцию областей формы, отображаемых во всех инспекторах и проводниках.Далее в примере производится доступ к области формы с именем formRegion1 и задается текст Hello World, отображаемый в текстовом поле.
Friend Sub Access_All_Form_Regions()
Dim formRegion As Microsoft.Office.Tools.Outlook.IFormRegion
For Each formRegion In Globals.FormRegions
If TypeOf formRegion Is FormRegion1 Then
Dim formRegion1 As FormRegion1 = _
CType(formRegion, FormRegion1)
formRegion1.textBox1.Text = "Hello World"
End If
Next formRegion
End Sub
internal void Access_All_Form_Regions()
{
foreach (Microsoft.Office.Tools.Outlook.IFormRegion formRegion
in Globals.FormRegions)
{
if (formRegion is FormRegion1)
{
FormRegion1 formRegion1 = (FormRegion1)formRegion;
formRegion1.textBox1.Text = "Hello World";
}
}
}
Доступ к элементам управления на области формы
Для доступа к элементам управления на области формы с помощью класса Globals необходимо обеспечить доступ к элементам управления со стороны кода вне файла кода области формы.
Области формы, созданные в конструкторе областей формы
Для C# следует изменить модификатор каждого элемента управления, к которым необходимо обеспечить доступ.Для этого необходимо выделить каждый элемент управления в конструкторе областей формы и в окне Свойства изменить свойство Модификаторы на Internal или public.Например, если для textBox1 изменить свойство Модификаторы на Internal, доступ к textBox1 можно получить с помощью строки Globals.FormRegions.FormRegion1.textBox1.
В Visual Basic нет необходимости изменять модификатор.
Импортируемые области формы
При импорте созданной в Outlook области формы модификатор доступа всех элементов управления в области формы меняется на закрытый.Поскольку изменить импортируемую область формы с помощью конструктора областей формы нельзя, изменить модификатор элемента управления в окне Свойства невозможно.
Чтобы обеспечить доступ к элементу управления извне файла кода области формы, следует создать свойство в файле кода области формы для получения этого элемента управления.
Дополнительные сведения о создании свойств в C# см. в разделе Практическое руководство. Объявление и использование свойств чтения и записи (Руководство по программированию на C#).
Дополнительные сведения о создании свойств в Visual Basic см. в разделе How to: Add Fields and Properties to a Class.
См. также
Задачи
Пошаговое руководство. Разработка области формы Outlook
Практическое руководство. Добавление области формы в проект надстройки Outlook
Пошаговое руководство. Импорт области формы, созданной в Outlook
Практическое руководство. Отсутствие отображения области формы в Outlook
Основные понятия
Рекомендации по созданию областей формы Outlook
Пользовательские действия в областях форм Outlook
Связывание области формы с классом сообщений Outlook
Доступ к ленте во время выполнения