Share via


ControlCollection.AddDropDownListContentControl Method (Range, String)

Adds a new DropDownListContentControl at the specified range in the document.

Namespace:  Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word (in Microsoft.Office.Tools.Word.dll)

Syntax

'Declaration
Function AddDropDownListContentControl ( _
    range As Range, _
    name As String _
) As DropDownListContentControl
DropDownListContentControl AddDropDownListContentControl(
    Range range,
    string name
)

Parameters

Return Value

Type: Microsoft.Office.Tools.Word.DropDownListContentControl
The DropDownListContentControl that was added to the document.

Exceptions

Exception Condition
ArgumentNullException

name is nulla null reference (Nothing in Visual Basic) or has zero length.

ControlNameAlreadyExistsException

A control with the same name is already in the ControlCollection.

Remarks

Use this method to add a new DropDownListContentControl at a specified range in the document at run time. For more information, see Adding Controls to Office Documents at Run Time.

Examples

The following code example adds a new DropDownListContentControl to the beginning of the document. The example also adds the names of several days to the list of items that users can select in the control.

This version is for a document-level customization. To use this code, paste it into the ThisDocument class in your project, and call the AddDropDownListControlAtRange method from the ThisDocument_Startup method.

Dim dropDownListControl2 As Microsoft.Office.Tools.Word.DropDownListContentControl

Private Sub AddDropDownListControlAtRange()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    dropDownListControl2 = Me.Controls.AddDropDownListContentControl(Me.Paragraphs(1).Range, _
        "dropDownListControl2")
    With dropDownListControl2
        .DropDownListEntries.Add("Monday", "Monday", 0)
        .DropDownListEntries.Add("Tuesday", "Tuesday", 1)
        .DropDownListEntries.Add("Wednesday", "Wednesday", 2)
        .PlaceholderText = "Choose a day"
    End With
End Sub
private Microsoft.Office.Tools.Word.DropDownListContentControl dropDownListControl2;

private void AddDropDownListControlAtRange()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();

    dropDownListControl2 = this.Controls.AddDropDownListContentControl(this.Paragraphs[1].Range,
        "dropDownListControl2");
    dropDownListControl2.DropDownListEntries.Add("Monday", "Monday", 0);
    dropDownListControl2.DropDownListEntries.Add("Tuesday", "Tuesday", 1);
    dropDownListControl2.DropDownListEntries.Add("Wednesday", "Wednesday", 2);
    dropDownListControl2.PlaceholderText = "Choose a day";
}

This version is for an application-level add-in that targets the .NET Framework 4. To use this code, paste it into the ThisAddIn class in your project, and call the AddDropDownListControlAtRange method from the ThisAddIn_Startup method.

Dim dropDownListControl2 As Microsoft.Office.Tools.Word.DropDownListContentControl

Private Sub AddDropDownListControlAtRange()
    If Me.Application.ActiveDocument Is Nothing Then
        Return
    End If

    Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    vstoDoc.Paragraphs(1).Range.InsertParagraphBefore()
    dropDownListControl2 = vstoDoc.Controls.AddDropDownListContentControl( _
        vstoDoc.Paragraphs(1).Range, _
        "dropDownListControl2")
    With dropDownListControl2
        .DropDownListEntries.Add("Monday", "Monday", 0)
        .DropDownListEntries.Add("Tuesday", "Tuesday", 1)
        .DropDownListEntries.Add("Wednesday", "Wednesday", 2)
        .PlaceholderText = "Choose a day"
    End With
End Sub
private Microsoft.Office.Tools.Word.DropDownListContentControl dropDownListControl2;

private void AddDropDownListControlAtRange()
{
    if (this.Application.ActiveDocument == null)
        return;

    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    vstoDoc.Paragraphs[1].Range.InsertParagraphBefore();

    dropDownListControl2 = vstoDoc.Controls.AddDropDownListContentControl(
        vstoDoc.Paragraphs[1].Range,
        "dropDownListControl2");
    dropDownListControl2.DropDownListEntries.Add("Monday", "Monday", 0);
    dropDownListControl2.DropDownListEntries.Add("Tuesday", "Tuesday", 1);
    dropDownListControl2.DropDownListEntries.Add("Wednesday", "Wednesday", 2);
    dropDownListControl2.PlaceholderText = "Choose a day";
}

.NET Framework Security

See Also

Reference

ControlCollection Interface

AddDropDownListContentControl Overload

Microsoft.Office.Tools.Word Namespace

Other Resources

Adding Controls to Office Documents at Run Time

Helper Methods for Host Controls

How to: Add Content Controls to Word Documents