Acceso a un área de formulario en tiempo de ejecución
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office. Tipo de proyecto
Versión de Microsoft Office
Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto. |
Puede escribir código para mostrar, ocultar o modificar los controles de un área de formulario y permitir a los usuarios ejecutar código de otras áreas en su proyecto utilizando la clase Globals.
Para obtener más información sobre la clase Globals, vea Acceso global a objetos en proyectos de Visual Studio Tools para Office.
Utilice la clase Globals para obtener acceso a las áreas de formulario que aparecen en inspectores y exploradores desde cualquier parte del proyecto. Un inspector es una ventana que se abre en Outlook cuando los usuarios realizan ciertas tareas, como crear mensajes de correo electrónico. Un explorador es una ventana que muestra el contenido de una carpeta que contiene elementos como mensajes de correo electrónico, tareas o citas.
Obtener acceso a áreas de formulario que aparecen en una ventana de inspector específica de Outlook
Para tener acceso a todas las áreas de formulario que aparecen en un inspector concreto de Outlook, llame a la propiedad FormRegions de la clase Globals y pase un objeto Inspector que representa al inspector.
En el ejemplo siguiente se obtiene la colección de áreas de formulario que aparecen en el inspector que tiene el foco en ese momento. A continuación, el ejemplo obtiene acceso a un área de formulario de la colección denominada formRegion1 y establece el texto que aparece en un cuadro de texto en 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";
}
Obtener acceso a áreas de formulario que aparecen en una ventana de explorador específica de Outlook
Para tener acceso a todas las áreas de formulario que aparecen en un explorador concreto de Outlook, llame a la propiedad FormRegions de la clase Globals y pase un objeto Explorer que representa al explorador.
En el ejemplo siguiente se obtiene la colección de áreas de formulario que aparecen en el explorador que tiene el foco en ese momento. A continuación, el ejemplo obtiene acceso a un área de formulario de la colección denominada formRegion1 y establece el texto que aparece en un cuadro de texto en 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";
}
Obtener acceso a todas las áreas de formulario
Para tener acceso a todas las áreas de formulario que aparecen en todos los exploradores e inspectores, llame a la propiedad FormRegions de la clase Globals.
En el ejemplo siguiente se obtiene la colección de áreas de formulario que aparecen en todos los exploradores e inspectores. A continuación, el ejemplo obtiene acceso a un área de formulario denominada formRegion1 y establece el texto que aparece en un cuadro de texto en 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";
}
}
}
Obtener acceso a los controles de un área de formulario
Para tener acceso a los controles de un área de formulario utilizando la clase Globals, debe hacer que el código que está fuera del archivo de código del área de formulario pueda obtener acceso a los controles.
Áreas de formulario diseñadas en el Diseñador de áreas de formulario
Para C#, cambie el modificador de cada control al que desea obtener acceso. Para ello, seleccione cada control en el Diseñador de áreas de formulario y cambie la propiedad Modifiers a Internal o Public en la ventana Propiedades. Por ejemplo, si cambia la propiedad Modifier de textBox1 a Internal, puede tener acceso a textBox1 escribiendo Globals.FormRegions.FormRegion1.textBox1.
Para Visual Basic, no es necesario cambiar el modificador.
Áreas de formulario importadas
Al importar un área de formulario diseñada en Outlook, el modificador de acceso de cada control del área de formulario pasa a ser privado. Dado que no puede utilizar el Diseñador de áreas de formulario para modificar un área de formulario importada, no existe ninguna forma de cambiar el modificador de un control en la ventana Propiedades.
Para permitir el acceso a un control que esté fuera del archivo de código del área de formulario, cree una propiedad que devuelva dicho control en el archivo de código del área de formulario.
Para obtener más información sobre cómo crear propiedades en C#, vea Cómo: Declarar y utilizar propiedades de lectura y escritura (Guía de programación de C#).
Para obtener más información sobre cómo crear propiedades en Visual Basic, vea Cómo: Agregar campos y propiedades a una clase.
Vea también
Tareas
Tutorial: Diseñar un área de formulario de Outlook
Cómo: Agregar un área de formulario a un proyecto de complemento de Outlook
Tutorial: Importar un área de formulario diseñada en Outlook
Cómo: Impedir que Outlook muestre un área de formulario
Cómo: Obtener acceso al elemento de Outlook que muestra el área del formulario
Conceptos
Instrucciones para crear áreas de formulario de Outlook
Acciones personalizadas en áreas de formulario de Outlook
Asociar un área de formulario a una clase de mensaje de Outlook