Partilhar via


Método ControlCollection.AddControl (Control, Range, String)

Adiciona especificado Control para o ControlCollection no intervalo especificado.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.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 de controle, o nome ou o intervalo é nulluma referência nula (Nothing no Visual Basic), ou o argumento nome tem comprimento zero.

ControlNameAlreadyExistsException

Um controle com o mesmo nome já está na ControlCollection instância.

InvalidRangeException

O intervalo especificado não é válido. Intervalos de múltiplas áreas não podem ser usados. O intervalo deve estar na mesma planilha como o ControlCollection instância.

Comentários

Este método pode ser usado para adicionar qualquer controle para o ControlCollection em tempo de execução. For more information, see Adicionar controles a documentos do Office em tempo de execução.

Exemplos

O exemplo de código a seguir adiciona dois controles de usuário personalizado à planilha usando o AddControl método. O primeiro controle é adicionado a um intervalo de células. O segundo controle é adicionado a um local específico. As alterações de código do Top propriedade do primeiro controle de usuário personalizada, apenas Move o controle em relação ao ControlSite que contém o controle na planilha. O código define o Top propriedade da ControlSite retornado por um segundo controle de usuário para ilustrar a maneira correta para definir o Top a propriedade 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