ControlCollection.AddControl, méthode (Control, Range, String)
Ajoute le Control spécifié à ControlCollection à la plage spécifiée.
Espace de noms : Microsoft.Office.Tools.Excel
Assemblys : Microsoft.Office.Tools.Excel (dans Microsoft.Office.Tools.Excel.dll)
Microsoft.Office.Tools.Excel.v4.0.Utilities (dans Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntaxe
'Déclaration
Function AddControl ( _
control As Control, _
range As Range, _
name As String _
) As ControlSite
ControlSite AddControl(
Control control,
Range range,
string name
)
Paramètres
- control
Type : System.Windows.Forms.Control
Contrôle à ajouter à l'instance de ControlCollection.
- range
Type : Microsoft.Office.Interop.Excel.Range
Range qui fournit les limites du contrôle.
- name
Type : System.String
Nom du contrôle qui peut être utilisé pour indexer le contrôle dans l'instance ControlCollection.
Valeur de retour
Type : Microsoft.Office.Tools.Excel.ControlSite
Objet qui représente le contrôle contenant le contrôle spécifié sur la feuille de calcul.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | L'argument de contrôle, de nom ou de plage a la valeur nullune référence null (Nothing en Visual Basic) ou l'argument de nom a une longueur nulle. |
ControlNameAlreadyExistsException | Un contrôle du même nom se trouve déjà dans l'instance de ControlCollection. |
InvalidRangeException | La plage spécifiée n'est pas valide.Les plages sur plusieurs zones ne peuvent pas être utilisées.La plage doit se trouver dans la même feuille de calcul que l'instance de ControlCollection. |
Notes
Cette méthode peut être utilisée pour ajouter n'importe quel contrôle 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 à la feuille de calcul à l'aide de la méthode AddControl.Le premier contrôle est ajouté à une plage de cellules.Le deuxième contrôle est ajouté à un emplacement spécifique.Le code modifie la propriété Top du premier contrôle utilisateur personnalisé, ce qui déplace uniquement le contrôle par rapport au ControlSite qui contient le contrôle sur la feuille de calcul.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 ExcelRangeAddControl()
Dim CustomUserControl As New UserControl1()
Dim CustomUserControl2 As New UserControl2()
Dim DynamicControl As Microsoft.Office.Tools.Excel.ListObject = Me.Controls.AddControl( _
CustomUserControl, 0, 0, 150, 150, _
"DynamicControl")
Dim DynamicControl2 As Microsoft.Office.Tools.Excel. _
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 ExcelRangeAddControl()
{
UserControl1 customUserControl = new UserControl1();
UserControl2 customUserControl2 = new UserControl2();
Microsoft.Office.Tools.Excel.ControlSite dynamicControl =
this.Controls.AddControl(customUserControl,
0, 0, 150, 150, "dynamicControl");
Microsoft.Office.Tools.Excel.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
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.