Поделиться через


ControlCollection.AddControl Метод (Control, Range, String) (2007 System)

Обновлен: Ноябрь 2007

Добавляет определенный Control в ControlCollection в определенном диапазоне.

Пространство имен:  Microsoft.Office.Tools.Excel
Сборка:  Microsoft.Office.Tools.Excel.v9.0 (в Microsoft.Office.Tools.Excel.v9.0.dll)

Синтаксис

'Декларация
Public Function AddControl ( _
    control As Control, _
    range As Range, _
    name As String _
) As OLEObject
'Применение
Dim instance As ControlCollection
Dim control As Control
Dim range As Range
Dim name As String
Dim returnValue As OLEObject

returnValue = instance.AddControl(control, _
    range, name)
public OLEObject AddControl(
    Control control,
    Range range,
    string name
)

Параметры

  • name
    Тип: System.String
    Имя элемента управления, которое можно использовать для индексации элемента управления в экземпляре ControlCollection.

Возвращаемое значение

Тип: Microsoft.Office.Tools.Excel.OLEObject
Экземпляр класса OLEObject, представляющий созданный для элемента управления контейнер.

Исключения

Исключение Условие
ArgumentNullException

Аргумент элемента управления, имени или диапазона равен nullссылка null (Nothing в Visual Basic), или аргумент имени имеет нулевую длину.

ControlNameAlreadyExistsException

Элемент управления с таким именем уже имеется в данном экземпляре ControlCollection.

InvalidRangeException

Указанный диапазон не существует. Невозможно использовать диапазоны с несколькими областями. Диапазон должен находиться на том же листе, что и экземпляр ControlCollection.

Заметки

Этот метод используется для добавления любого элемента управления в коллекцию ControlCollection во время выполнения. Дополнительные сведения см. в разделе Добавление элементов управления в документы Office во время выполнения.

Примеры

В приведенном ниже примере кода с помощью метода AddControl на лист добавляются два настраиваемых пользовательских элемента управления. Первый элемент управления добавляется в диапазон ячеек. Второй элемент управления добавляется в указанное расположение. В коде изменяется свойство Top первого настраиваемого пользовательского элемента управления, что приводит к перемещению элемента управления относительно объекта OLEObject, в котором содержится элемент управления на листе. Затем в коде свойству Top присваивается значение объекта OLEObject, возвращенного вторым пользовательским элементом управления с целью демонстрации правильного способа задания свойства Top элемента управления.

Private Sub ExcelRangeAddControl()

    Dim CustomUserControl As New UserControl1()
    Dim CustomUserControl2 As New UserControl2()

    Dim DynamicControl As Microsoft.Office.Tools.Excel. _
        OLEObject = Me.Controls.AddControl( _
        customUserControl, 0, 0, 150, 150, _
        "DynamicControl")

    Dim DynamicControl2 As Microsoft.Office.Tools.Excel. _
        OLEObject = 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.OLEObject dynamicControl =
        this.Controls.AddControl(customUserControl,
        0, 0, 150, 150, "dynamicControl");

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

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

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

Разрешения

См. также

Ссылки

ControlCollection Класс

ControlCollection - члены

AddControl - перегрузка

Microsoft.Office.Tools.Excel - пространство имен