Método ControlCollection.AddControl (Control, Range, String)
Adiciona Control especificado a ControlCollection no intervalo especificado.
Namespace: Microsoft.Office.Tools.Excel
Assemblies: Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)
Microsoft.Office.Tools.Excel.v4.0.Utilities (em Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Sintaxe
'Declaração
Function AddControl ( _
control As Control, _
range As Range, _
name As String _
) As ControlSite
ControlSite AddControl(
Control control,
Range range,
string name
)
Parâmetros
- control
Tipo: System.Windows.Forms.Control
O controle a ser adicionado à instância de ControlCollection .
- range
Tipo: Microsoft.Office.Interop.Excel.Range
Range que fornece os limites do controle.
- name
Tipo: System.String
O nome do controle que pode ser usado para indexar o controle na instância de ControlCollection .
Valor de retorno
Tipo: Microsoft.Office.Tools.Excel.ControlSite
Um objeto que representa o controle que contém o controle especificado na planilha.
Exceções
Exceção | Condição |
---|---|
ArgumentNullException | O argumento do controle, o nome ou do intervalo é nulluma referência nula (Nothing no Visual Basic), ou o argumento do nome tem comprimento zero. |
ControlNameAlreadyExistsException | Um controle com o mesmo nome já está na instância de ControlCollection . |
InvalidRangeException | O intervalo que foi especificado não é válido. Os intervalos de várias área não podem ser usados. O intervalo deve estar na mesma planilha que a instância de ControlCollection . |
Comentários
Esse método pode ser usado para adicionar em tempo de execução qualquer controle a ControlCollection . Para obter mais informações, consulte Adicionando controles a documentos do Office em tempo de execução.
Exemplos
O exemplo de código a seguir adiciona dois controles de usuário personalizados à planilha usando o método AddControl . O primeiro controle é adicionado a um intervalo das células. O segundo controle é adicionado a um local específico. As alterações de código a propriedade de Top do primeiro controle de usuário personalizados, que move somente o controle em relação a ControlSite que contém o controle na planilha. O código define a propriedade de Top de ControlSite retornado pelo segundo controle de usuário para ilustrar a maneira correta de definir a propriedade de Top do controle.
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;
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.