ControlCollection.AddControl 方法 (Control, Range, String)
將指定的 Control 加入至 ControlCollection 的指定範圍。
命名空間: Microsoft.Office.Tools.Excel
組件: Microsoft.Office.Tools.Excel (在 Microsoft.Office.Tools.Excel.dll 中)
Microsoft.Office.Tools.Excel.v4.0.Utilities (在 Microsoft.Office.Tools.Excel.v4.0.Utilities.dll 中)
語法
'宣告
Function AddControl ( _
control As Control, _
range As Range, _
name As String _
) As ControlSite
ControlSite AddControl(
Control control,
Range range,
string name
)
參數
- control
型別:System.Windows.Forms.Control
要加入至 ControlCollection 執行個體的控制項。
- range
型別:Microsoft.Office.Interop.Excel.Range
提供控制項繫結的 Range。
- name
型別:System.String
可於 ControlCollection 執行個體中用於索引控制項的控制項名稱。
傳回值
型別:Microsoft.Office.Tools.Excel.ControlSite
表示控制項的物件,而該控制項包含工作表上指定的控制項。
例外狀況
例外狀況 | 條件 |
---|---|
ArgumentNullException | 控制項、名稱或範圍引數為 nullnull 參考 (即 Visual Basic 中的 Nothing),或名稱引數的長度為 0。 |
ControlNameAlreadyExistsException | 具有相同名稱的控制項已經存在於 ControlCollection 執行個體中。 |
InvalidRangeException | 指定的範圍無效。無法使用多區域範圍。範圍必須放在和 ControlCollection 執行個體相同的工作表上。 |
備註
可以在執行階段使用這個方法,將任何控制項加入 ControlCollection。如需詳細資訊,請參閱在執行階段將控制項加入至 Office 文件。
範例
下列程式碼範例會使用 AddControl 方法,將兩個自訂使用者控制項加入至工作表。第一個控制項會加入至某範圍的儲存格,第二個控制項會加入特定位置中。程式碼會變更第一個自訂使用者控制項的 Top 屬性,這只會將控制項相對於包含工作表上該控制項的 ControlSite 移動。然後程式碼會設定第二個使用者控制項所傳回 ControlSite 的 Top 屬性,示範如何正確設定該控制項的 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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。