Vue d’ensemble des contrôles Windows Forms sur Bureau documents

Les contrôles Windows Forms sont des objets avec lesquels les utilisateurs peuvent interagir pour entrer ou manipuler des données. Dans des projets au niveau du document pour Microsoft Office Excel et Microsoft Office Word, vous pouvez ajouter des contrôles Windows Forms au document ou au classeur dans votre projet au moment du design, ou vous pouvez ajouter ces contrôles par programmation au moment de l’exécution. Vous pouvez ajouter ces contrôles par programmation à n’importe quel document ou feuille de calcul ouvert au moment de l’exécution dans un complément VSTO pour Excel ou Word.

Pour plus d’informations, consultez How to : Add Windows Forms controls to Bureau documents.

S’applique à : les informations contenues dans cette rubrique s’appliquent aux projets de niveau document et aux projets de complément VSTO pour Excel et Word. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.

Utiliser des contrôles Windows Forms

Vous pouvez ajouter des contrôles Windows Forms à des documents et à des éléments d’interface utilisateur personnalisables, y compris des volets d’actions, des volets Office personnalisés et des Windows Forms. Les contrôles Windows Forms ont généralement le même comportement dans des documents que sur ces autres éléments d’interface utilisateur, mais il existe certaines différences. Pour plus d’informations, consultez Limitations des contrôles Windows Forms sur Bureau documents.

La décision d’ajouter des contrôles Windows Forms à un document ou à un autre élément d’interface utilisateur dépend de plusieurs facteurs. Lors de la conception de l’interface utilisateur de votre solution, vous pouvez utiliser les contrôles Windows Forms comme décrit dans le tableau suivant.

Dans un document.

  • Lorsque vous souhaitez afficher les contrôles en permanence.

  • Lorsque vous souhaitez que les utilisateurs entrent des données directement dans le document, par exemple dans des documents basés sur des formulaires où la surface d’édition est verrouillée.

  • Lorsque vous souhaitez que les contrôles soient alignés avec les données dans le document. Par exemple, si vous ajoutez des boutons à chaque ligne d’un objet de liste, il vaut mieux qu’ils soient alignés avec chaque élément de liste.

Dans le volet d’actions ou un volet Office personnalisé.

  • Lorsque vous souhaitez fournir des informations contextuelles à l’utilisateur.

  • Lorsque vous souhaitez que seuls les résultats, et non les contrôles de requête et les données, apparaissent dans le document.

  • Lorsque vous souhaitez vous assurer que les contrôles ne soient pas imprimés avec le document.

  • Lorsque vous souhaitez vous assurer que les contrôles n’interfèrent pas avec la vue du document.

Dans un Windows Form.

  • Lorsque vous souhaitez contrôler la taille de l’interface utilisateur.

  • Lorsque vous souhaitez empêcher les utilisateurs de masquer ou de supprimer les contrôles.

  • Lorsque vous souhaitez obtenir des informations à partir de l’utilisateur et l’empêcher de faire quoi que ce soit dans le document avant que ces informations aient été reçues.

Ajouter des contrôles Windows Forms par programmation

Vous pouvez ajouter des contrôles Windows Forms à des documents Word et des feuilles de calcul Excel au moment de l’exécution. Le runtime Visual Studio Tools pour Office fournit des méthodes d’assistance pour ajouter les contrôles Windows Forms les plus courants. Ces méthodes d’assistance vous permettent d’ajouter rapidement des contrôles à votre document Office et d’accéder à la fonctionnalité Windows Forms et Office combinée de ces contrôles.

Pour plus d’informations, consultez Ajouter des contrôles à Bureau documents au moment de l’exécution.

Utiliser des contrôles Windows Forms dans des projets au niveau du document

Certains aspects liés à l’utilisation des contrôles Windows Forms sur les documents sont uniques aux projets au niveau du document, qui vous permettent de concevoir l’interface utilisateur de votre document en utilisant le concepteur Visual Studio.

Créer des contrôles utilisateur personnalisés

Vous pouvez ajouter un contrôle utilisateur à votre projet, puis l’ajouter à la Boîte à outils. Vous pouvez ensuite faire glisser le contrôle utilisateur directement sur votre document, comme vous le feriez pour y ajouter un contrôle Windows Forms. Notez les points suivants lors de la création de contrôles utilisateur :

  • Ne créez pas un contrôle utilisateur sealed . Lorsque vous faites glisser le contrôle sur votre document, Visual Studio génère une classe wrapper dérivée du contrôle utilisateur pour l’étendre et prendre en charge son utilisation dans le document. Si le contrôle utilisateur est sealed, Visual Studio ne peut pas générer la classe wrapper.

  • L’attribut ComVisibleAttribute des contrôles utilisateur doit avoir la valeur true. Les contrôles utilisateur créés à l’intérieur d’un projet Bureau ont cet attribut défini sur true par défaut, mais les contrôles utilisateur qui font partie de projets externes peuvent ne pas avoir cet attribut défini sur true.

  • Après avoir ajouté un contrôle utilisateur au document, ne renommez pas et supprimez pas la classe UserControl du projet. Si vous devez modifier le nom d’un contrôle utilisateur, vous devez tout d’abord le supprimer du document, puis le rajouter après avoir modifié le nom.

Organiser les contrôles au moment du design

Si vous ajoutez plusieurs contrôles à vos documents Word et Excel au moment du design, vous pouvez rapidement définir l’alignement de tous les contrôles sélectionnés à l’aide des barres d’outils Microsoft Office Word et Microsoft Office Excel dans Visual Studio. Ces barres d’outils sont disponibles uniquement quand un document ou une feuille de calcul est ouvert(e) dans le concepteur.

Quand vous sélectionnez plusieurs contrôles dans le concepteur, vous pouvez utiliser les boutons suivants sur ces barres d’outils pour réorganiser les contrôles :

  • Aligner les côtés gauches

  • Aligner les centres

  • Aligner les côtés droits

  • Aligner les sommets

  • Aligner les milieux

  • Aligner les bases

  • Égaliser l'espacement horizontal

  • Égaliser l'espacement vertical

Remarque

Dans les projets Word, ces boutons sont activés uniquement si les contrôles sélectionnés ne sont pas alignés avec le texte. Par défaut, les contrôles que vous ajoutez au document au moment du design sont alignés avec le texte.

Empêcher l’affichage d’anciennes données dans les classeurs Excel pendant le chargement

Lorsque vous ajoutez des contrôles Windows Forms à des documents ou des feuilles de calcul au moment du design, les contrôles restent dans le document quand l’utilisateur le ferme. Les contrôles ajoutés au moment du design sont également appelés contrôles statiques.

Quand vous ouvrez un classeur Excel qui contient des contrôles statiques, il affiche une bitmap du contrôle dans un contrôle ActiveX jusqu’à ce que le code de personnalisation s’exécute et charge le contrôle proprement dit. Excel crée cette bitmap et la stocke dans le classeur chaque fois que celui-ci est enregistré. La bitmap affiche le contrôle tel qu’il apparaissait la dernière fois que le classeur a été enregistré, y compris les données affichées par le contrôle. Pour plus d’informations sur le contrôle ActiveX qui contient des contrôles Windows Forms et des bitmaps, consultez Limitations des contrôles Windows Forms sur Bureau documents.

Dans certaines conditions, par exemple lorsque l’utilisateur ouvre le classeur en mode Création, le code n’est pas chargé et seule la bitmap est affichée. En outre, si l’utilisateur ouvre le classeur sur un ordinateur qui n’a pas le runtime Visual Studio Tools pour Office installé, la personnalisation ne peut pas s’exécuter pour charger les contrôles et par conséquent, seule la bitmap du contrôle est visible. Vous devez toujours supprimer les informations personnelles des contrôles dans les classeurs avant de les enregistrer et de les envoyer à un autre utilisateur, pour éviter toute divulgation involontaire.

Mettre en correspondance la taille du contrôle à la taille de cellule dans une feuille de calcul Excel

Vous pouvez configurer le contrôle pour qu’il soit redimensionné automatiquement quand la taille de la cellule parente change. Pour plus d’informations, consultez Guide pratique pour redimensionner les contrôles dans les cellules de feuille de calcul.

Ajouter des composants partagés par toutes les feuilles de calcul

Vous pouvez ajouter des composants que vous souhaitez partager parmi toutes les feuilles de calcul, comme un DataSet, au Concepteur de classeurs plutôt qu’aux feuilles de calcul. Le composant apparaîtra dans la barre d’état des composants.

Formule pour l’incorporation de contrôles dans une feuille de calcul Excel

Quand vous sélectionnez un contrôle dans Excel, vous voyez =EMBED("WinForms.Control.Host","") dans la Barre de formule. Ce texte est nécessaire et ne doit pas être supprimé.

Style de disposition des contrôles sur un document Word

Quand vous ajoutez un contrôle au document Word dans un projet au niveau du document à l’aide du concepteur Visual Studio, le contrôle est aligné avec le texte. Pour modifier le style de disposition du contrôle, cliquez avec le bouton droit sur le contrôle, puis cliquez sur Format de contrôle. Sélectionnez un style d’habillage dans la page Disposition de la boîte de dialogue Format d’objet .

Lorsque vous ajoutez un contrôle à un document Word au moment de l’exécution, vous pouvez spécifier le style de disposition du nouveau contrôle à l’aide de différentes Add<surcharges de méthode de classe> de contrôle de la ControlCollection classe :

  • Pour aligner le contrôle avec le texte, utilisez une surcharge qui accepte un Range qui spécifie l’emplacement du contrôle.

  • Pour ajouter le contrôle en tant que forme flottante, utilisez une surcharge qui accepte les coordonnées de gauche et supérieure du contrôle.

    Pour plus d’informations, consultez Ajouter des contrôles à Bureau documents au moment de l’exécution.

    Si vous ouvrez un modèle Word dans le concepteur Visual Studio, les contrôles non inline sur le modèle ne seront peut-être pas visibles, car Visual Studio ouvre le modèle en mode Normal . Pour afficher les contrôles, basculez en mode Page.

Contrôles en dehors du corps du document principal

Les contrôles Windows Forms ne sont pas pris en charge dans un en-tête ou un pied de page, ni dans un sous-document.

Ajouter des composants au moment du design

Certains contrôles ou composants ne sont pas visibles dans le document, mais sont plutôt affichés dans une barre d’état des composants. Visual Studio fournit une barre d’état des composants pour chaque fenêtre de document. La barre d’état des composants est affichée à l’écran uniquement s’il existe des composants dans le document.