共用方式為


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

將指定的 Control 依指定的位置和大小加入至 ControlCollection

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

語法

'宣告
Function AddControl ( _
    control As Control, _
    left As Double, _
    top As Double, _
    width As Double, _
    height As Double, _
    name As String _
) As ControlSite
ControlSite AddControl(
    Control control,
    double left,
    double top,
    double width,
    double height,
    string name
)

參數

  • left
    型別:System.Double
    控制項左邊緣和工作表左邊緣之間的距離 (以點為單位)。
  • top
    型別:System.Double
    控制項上邊緣和工作表上邊緣之間的距離 (以點為單位)。
  • width
    型別:System.Double
    控制項的寬度 (以點為單位)。
  • height
    型別:System.Double
    控制項的高度 (以點為單位)。

傳回值

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

例外狀況

例外狀況 條件
ArgumentNullException

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

ControlNameAlreadyExistsException

具有相同名稱的控制項已經存在於 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 命名空間