ControlCollection.AddControl メソッド (Control, Range, Single, Single, String)
指定されたコントロールを、指定された範囲にある ControlCollection へ指定されたサイズで追加します。
名前空間: Microsoft.Office.Tools.Word
アセンブリ: Microsoft.Office.Tools.Word (Microsoft.Office.Tools.Word.dll 内)
構文
'宣言
Function AddControl ( _
control As Control, _
range As Range, _
width As Single, _
height As Single, _
name As String _
) As ControlSite
ControlSite AddControl(
Control control,
Range range,
float width,
float height,
string name
)
パラメーター
- control
型: System.Windows.Forms.Control
ControlCollection インスタンスに追加するコントロール。
- range
型: Microsoft.Office.Interop.Word.Range
コントロールの位置を決定する Range。
- width
型: System.Single
コントロールの幅 (ポイント単位)。
- height
型: System.Single
コントロールの高さ (ポイント単位)。
- name
型: System.String
ControlCollection インスタンス内のコントロールにインデックスを作成するために使用できる名前。
戻り値
型: Microsoft.Office.Tools.Word.ControlSite
文書内の指定したコントロールを含むコントロールを表すオブジェクト。
例外
例外 | 条件 |
---|---|
ArgumentNullException | control、name、または range 引数が nullnull 参照 (Visual Basic では Nothing) であるか、または name 引数の長さが 0 である場合。 |
ControlNameAlreadyExistsException | 同じ名前のコントロールが既に ControlCollection インスタンスに存在する場合。 |
InvalidRangeException | 指定された範囲が無効である場合。 |
解説
このメソッド使用すると、任意のコントロールを ControlCollection へ実行時に追加できます。 詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。
例
次のコード例は AddControl メソッドを使用して、2 つのカスタム ユーザー コントロールを文書に追加します。 最初のコントロールは Range に追加されます。 2 番目のコントロールは特定の位置に追加されます。 最初のカスタム ユーザー コントロールの Top プロパティを変更しますが、この方法では文書に置かれたコントロールを含む ControlSite に関連するコントロールが移動するだけです。 次に、2 番目のユーザー コントロールから返された ControlSite の Top プロパティを設定します。これが、コントロールの Top プロパティの正しい設定方法です。
Private Sub WordRangeAddControl()
Me.Paragraphs(1).Range.InsertParagraphBefore()
Dim CustomUserControl As New UserControl1()
Dim CustomUserControl2 As New UserControl2()
Dim DynamicControl As Microsoft.Office.Tools.Word.ControlSite = _
Me.Controls.AddControl(CustomUserControl, _
Me.Paragraphs(1).Range, 150, 150, "DynamicControl")
Dim DynamicControl2 As Microsoft.Office.Tools.Word.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 WordRangeAddControl()
{
this.Paragraphs[1].Range.InsertParagraphBefore();
UserControl1 customUserControl = new UserControl1();
UserControl2 customUserControl2 = new UserControl2();
Microsoft.Office.Tools.Word.ControlSite dynamicControl =
this.Controls.AddControl(customUserControl,
this.Paragraphs[1].Range, 150, 150, "dynamicControl");
Microsoft.Office.Tools.Word.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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。 このメンバーは、部分的に信頼されているコードから使用することはできません。 詳細については、「部分信頼コードからのライブラリの使用」を参照してください。