Partager via


Accès à une zone de formulaire au moment de l'exécution

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et aux versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau de l'application

Version de Microsoft Office

  • Outlook 2007

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Vous pouvez écrire du code pour afficher, masquer ou modifier des contrôles sur une zone de formulaire et permettre aux utilisateurs d'exécuter le code à partir d'autres zones de votre projet à l'aide de la classe Globals.

Pour plus d'informations sur la classe Globals, consultez Accès global aux objets dans les projets Visual Studio Tools pour Office.

Utilisez la classe Globals pour accéder aux zones de formulaire qui s'affichent dans les Inspecteurs et les explorateurs à partir d'un emplacement quelconque du projet. Un Inspecteur est une fenêtre qui s'ouvre dans Outlook lorsque les utilisateurs effectuent certaines tâches, telles que la création d'un message électronique. Un explorateur est une fenêtre qui affiche le contenu d'un dossier qui contient des éléments tels que des courriers électroniques, des tâches ou des rendez-vous.

Accès aux zones de formulaire qui s'affichent dans une fenêtre d'Inspecteur Outlook spécifique

Pour accéder à toutes les zones de formulaire qui s'affichent dans un Inspecteur Outlook spécifique, appelez la propriété FormRegions de la classe Globals et passez un objet Inspector qui représente l'Inspecteur.

L'exemple suivant obtient la collection des zones de formulaire qui s'affichent dans l'Inspecteur qui a actuellement le focus. Cet exemple accède ensuite à une zone de formulaire de la collection nommée formRegion1 et définit que le texte Hello World s'affiche dans une zone de texte.

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";
}

Accès aux zones de formulaire qui s'affichent dans une fenêtre d'explorateur Outlook spécifique

Pour accéder à toutes les zones de formulaire qui s'affichent dans un explorateur Outlook spécifique, appelez la propriété FormRegions de la classe Globals et passez un objet Explorer qui représente l'explorateur.

L'exemple suivant obtient la collection des zones de formulaire qui s'affichent dans l'explorateur qui a actuellement le focus. Cet exemple accède ensuite à une zone de formulaire de la collection nommée formRegion1 et définit que le texte Hello World s'affiche dans une zone de texte.

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";
}

Accès à toutes les zones de formulaire

Pour accéder à toutes les zones de formulaire qui s'affichent dans tous les explorateurs et tous les Inspecteurs, appelez la propriété FormRegions de la classe Globals.

L'exemple suivant obtient la collection des zones de formulaire qui s'affichent dans tous les explorateurs et tous les Inspecteurs. Cet exemple accède ensuite à une zone de formulaire nommée formRegion1 et définit que le texte Hello World s'affiche dans une zone de texte.

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";
        }
    }

}

Accès aux contrôles d'une zone de formulaire

Pour accéder aux contrôles d'une zone de formulaire à l'aide de la classe Globals, vous devez rendre les contrôles accessibles au code situé à l'extérieur du fichier de code de la zone de formulaire.

Zones de formulaire conçues dans le Concepteur de zones de formulaire

Pour C#, changez le modificateur de chaque contrôle auquel vous souhaitez accéder. Pour cela, sélectionnez chaque contrôle dans le Concepteur de zones de formulaire et affectez à la propriété Modificateurs la valeur Interne ou Public dans la fenêtre Propriétés. Par exemple, si vous affectez à la propriété Modificateur de textBox1 la valeur Interne, vous pouvez accéder à textBox1 en entrant Globals.FormRegions.FormRegion1.textBox1.

Pour Visual Basic, vous n'avez pas besoin de changer le modificateur.

Zones de formulaire importées

Lorsque vous importez une zone de formulaire conçue dans Outlook, le modificateur d'accès de chaque contrôle de la zone de formulaire devient privé. Étant donné que vous ne pouvez pas utiliser le Concepteur de zones de formulaire pour modifier une zone de formulaire importée, il est impossible de changer le modificateur d'un contrôle dans la fenêtre Propriétés.

Pour permettre l'accès à un contrôle depuis l'extérieur du fichier de code de la zone de formulaire, créez dans ce fichier une propriété qui retourne ce contrôle.

Pour plus d'informations sur la création de propriétés en C#, consultez Comment : déclarer et utiliser des propriétés en lecture/écriture (Guide de programmation C#).

Pour plus d'informations sur la création de propriétés en Visual Basic, consultez Comment : ajouter des champs et des propriétés à une classe.

Voir aussi

Tâches

Procédure pas à pas : conception d'une zone de formulaire Outlook

Comment : ajouter une zone de formulaire à un projet de complément Outlook

Procédure pas à pas : importation d'une zone de formulaire conçue dans Outlook

Comment : empêcher Outlook d'afficher une zone de formulaire

Comment : accéder à l'élément Outlook qui affiche la zone de formulaire

Concepts

Directives pour la création de zones de formulaire Outlook

Actions personnalisées dans les zones de formulaire Outlook

Association d'une zone de formulaire à une classe de message Outlook

Création de zones de formulaire Outlook

Accès au ruban au moment de l'exécution