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
)

参数

  • width
    类型:System.Single
    控件的宽度(以磅为单位)。
  • height
    类型:System.Single
    控件的高度(以磅为单位)。

返回值

类型:Microsoft.Office.Tools.Word.ControlSite
一个对象,表示包含文档中指定控件的控件。

异常

异常 条件
ArgumentNullException

control、name 或 range 参数为 nullnull 引用(在 Visual Basic 中为 Nothing),或者 name 参数长度为零。

ControlNameAlreadyExistsException

ControlCollection 实例中已存在一个同名控件。

InvalidRangeException

指定的范围无效。

备注

此方法可用于在运行时向 ControlCollection 添加任何控件。 有关更多信息,请参见 在运行时向 Office 文档添加控件

示例

下面的代码示例使用 AddControl 方法向文档添加两个自定义用户控件。 第一个控件被添加到 Range 中。 第二个控件被添加到特定的位置。 此代码更改第一个自定义用户控件的 Top 属性,这只是相对于文档上包含此控件的 ControlSite 来移动该控件。 然后,此代码设置由第二个用户控件返回的 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 安全性

请参见

参考

ControlCollection 接口

AddControl 重载

Microsoft.Office.Tools.Word 命名空间