Share via


ControlCollection.AddControl, méthode (Control, Range, Single, Single, String)

Ajoute le contrôle spécifié au ControlCollection à la plage spécifiée, dans la taille spécifiée.

Espace de noms :  Microsoft.Office.Tools.Word
Assemblys :   Microsoft.Office.Tools.Word (dans Microsoft.Office.Tools.Word.dll)
  Microsoft.Office.Tools.Word.v4.0.Utilities (dans Microsoft.Office.Tools.Word.v4.0.Utilities.dll)

Syntaxe

'Déclaration
Function AddControl ( _
    control As Control, _
    range As Range, _
    width As Single, _
    height As Single, _
    name As String _
) As ControlSite
ControlSite AddControl(
    Control control,
    Range range,
    float width,
    float height,
    string name
)

Paramètres

Valeur de retour

Type : Microsoft.Office.Tools.Word.ControlSite
Objet qui représente le contrôle contenant le contrôle spécifié dans le document.

Exceptions

Exception Condition
ArgumentNullException

L'argument name ou range est nullune référence null (Nothing en Visual Basic) ou l'argument name a une longueur nulle.

ControlNameAlreadyExistsException

Un contrôle portant le même nom se trouve déjà dans l'instance de ControlCollection.

ControlCouldNotBeInitializedException

L'argument control a la valeur nullune référence null (Nothing en Visual Basic).

Notes

Cette méthode peut être utilisée pour ajouter n'importe quel contrôle au ControlCollection au moment de l'exécution Pour plus d'informations, consultez Ajout de contrôles à des documents Office au moment de l'exécution.

Exemples

L'exemple de code suivant ajoute deux contrôles utilisateur personnalisés au document à l'aide de la méthode AddControl. Le premier contrôle est ajouté à un Range. Le deuxième contrôle est ajouté à un emplacement spécifique. Le code modifie la propriété Top du premier contrôle utilisateur personnalisé, qui déplace uniquement le contrôle par rapport au ControlSite qui contient le contrôle sur le document. Le code définit ensuite la propriété Top du ControlSite retourné par le deuxième contrôle utilisateur pour illustrer la façon correcte de définir la propriété Top du contrôle.

Private Sub WordRangeAddControl()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Dim CustomUserControl As New UserControl1()
    Dim CustomUserControl2 As New UserControl2()

    Dim DynamicControl As Microsoft.Office.Tools.Word.ControlSite = _
        Me.Controls.AddControl(CustomUserControl, _
        Me.Paragraphs(1).Range, 150, 150, "DynamicControl")

    Dim DynamicControl2 As Microsoft.Office.Tools.Word.ControlSite = _
        Me.Controls.AddControl(CustomUserControl2, _
        200, 0, 150, 150, "DynamicControl2")

    CustomUserControl.BackColor = Color.Blue
    CustomUserControl2.BackColor = Color.Green

    CustomUserControl.Top = 100
    dynamicControl2.Top = 100
End Sub 
private void WordRangeAddControl()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    UserControl1 customUserControl = new UserControl1();
    UserControl2 customUserControl2 = new UserControl2();

    Microsoft.Office.Tools.Word.ControlSite dynamicControl =
        this.Controls.AddControl(customUserControl, 
        this.Paragraphs[1].Range, 150, 150, "dynamicControl");

    Microsoft.Office.Tools.Word.ControlSite dynamicControl2 =
        this.Controls.AddControl(customUserControl2, 200, 0,
        150, 150, "dynamicControl2");

    customUserControl.BackColor = Color.Blue;
    customUserControl2.BackColor = Color.Green;

    customUserControl.Top = 100;
    dynamicControl2.Top = 100;
}

Sécurité .NET Framework

Voir aussi

Référence

ControlCollection Interface

AddControl, surcharge

Microsoft.Office.Tools.Word, espace de noms