ControlCollection.AddControl メソッド (Control, Double, Double, Double, Double, 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, _
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
)
パラメーター
- control
型 : System.Windows.Forms.Control
ControlCollection インスタンスに追加するコントロール。
- left
型 : System.Double
コントロールの左端からワークシートの左端までの間隔 (ポイント単位)。
- top
型 : System.Double
コントロールの上端からワークシートの上端までの距離 (ポイント単位)。
- width
型 : System.Double
コントロールの幅 (ポイント単位)。
- height
型 : System.Double
コントロールの高さ (ポイント単位)。
- name
型 : System.String
コントロールの名前。
戻り値
型 : Microsoft.Office.Tools.Excel.ControlSite
ワークシートで指定したコントロールを含むコントロールを表すオブジェクト。
例外
例外 | 条件 |
---|---|
ArgumentNullException | control または name 引数が nullnull 参照 (Visual Basic では Nothing) であるかまたは長さが 0 です。 |
ControlNameAlreadyExistsException | 同じ名前のコントロールが既に ControlCollection インスタンスに存在します。 |
解説
このメソッドは、実行時に任意のコントロールを ControlCollection に追加するために使用できます。詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。
例
次のコード例は、AddControl メソッドを使用して、2 つのカスタム ユーザー コントロールをワークシートに追加します。1 つ目のコントロールは、セル範囲に対して追加します。2 番目のコントロールは特定の位置に追加されます。コードは、1 つ目のカスタム ユーザー コントロールの Top プロパティを変更します。これは、ワークシート上でこのコントロールを保持する ControlSite との相対位置でコントロールを移動するだけです。次に、2 番目のユーザー コントロールから返された 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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。