Compartilhar via


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

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

Consulte também

Referência

ControlCollection Interface

Sobrecargas AddControl

Namespace Microsoft.Office.Tools.Excel