共用方式為


ControlCollection.AddControl 方法 (Control, Range, String)

將指定的 Control 加入至 ControlCollection 的指定範圍。

命名空間:  Microsoft.Office.Tools.Excel
組件:  Microsoft.Office.Tools.Excel (在 Microsoft.Office.Tools.Excel.dll 中)

語法

'宣告
Function AddControl ( _
    control As Control, _
    range As Range, _
    name As String _
) As ControlSite
ControlSite AddControl(
    Control control,
    Range range,
    string name
)

參數

傳回值

型別:Microsoft.Office.Tools.Excel.ControlSite
表示控制項的物件,而該控制項包含工作表上指定的控制項。

例外狀況

例外狀況 條件
ArgumentNullException

控制項、名稱或範圍引數為 nullNull 參照 (即 Visual Basic 中的 Nothing),或名稱引數的長度為 0。

ControlNameAlreadyExistsException

具有相同名稱的控制項已經存在於 ControlCollection 執行個體中。

InvalidRangeException

指定的範圍無效。 無法使用多區域範圍。 範圍必須放在和 ControlCollection 執行個體相同的工作表上。

備註

可以在執行階段使用這個方法,將任何控制項加入 ControlCollection。 如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件

範例

下列程式碼範例會使用 AddControl 方法,將兩個自訂使用者控制項加入至工作表。 第一個控制項會加入至某範圍的儲存格, 第二個控制項會加入特定位置中。 程式碼會變更第一個自訂使用者控制項的 Top 屬性,這只會將控制項相對於包含工作表上該控制項的 ControlSite 移動。 然後程式碼會設定第二個使用者控制項所傳回 ControlSiteTop 屬性,示範如何正確設定該控制項的 Top 屬性。

    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;
}

.NET Framework 安全性

請參閱

參考

ControlCollection 介面

AddControl 多載

Microsoft.Office.Tools.Excel 命名空間