ControlCollection.AddControl メソッド (Control, Single, Single, Single, Single, String)
指定されたコントロールを、指定された位置にある ControlCollection へ指定されたサイズで追加します。
名前空間: Microsoft.Office.Tools.Word
アセンブリ: Microsoft.Office.Tools.Word (Microsoft.Office.Tools.Word.dll 内)
Microsoft.Office.Tools.Word.v4.0.Utilities (Microsoft.Office.Tools.Word.v4.0.Utilities.dll 内)
構文
'宣言
Function AddControl ( _
control As Control, _
left As Single, _
top As Single, _
width As Single, _
height As Single, _
name As String _
) As ControlSite
ControlSite AddControl(
Control control,
float left,
float top,
float width,
float height,
string name
)
パラメーター
- control
型 : System.Windows.Forms.Control
ControlCollection インスタンスに追加するコントロール。
- left
型 : System.Single
コントロールの左端から文書の左端までの間隔 (ポイント単位)。
- top
型 : System.Single
コントロールの上端から文書の上端までの間隔 (ポイント単位)。
- width
型 : System.Single
コントロールの幅 (ポイント単位)。
- height
型 : System.Single
コントロールの高さ (ポイント単位)。
- name
型 : System.String
コントロールの名前。
戻り値
型 : Microsoft.Office.Tools.Word.ControlSite
文書内の指定したコントロールを含むコントロールを表すオブジェクト。
例外
例外 | 条件 |
---|---|
ArgumentNullException | name 引数が nullnull 参照 (Visual Basic では Nothing) であるか、name 引数の長さが 0 です。 |
ControlNameAlreadyExistsException | 同じ名前のコントロールが既に ControlCollection インスタンスに存在する場合。 |
ControlCouldNotBeInitializedException | control 引数が nullnull 参照 (Visual Basic では Nothing) です。 |
解説
このメソッド使用すると、任意のコントロールを 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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。