Поделиться через


ControlCollection.AddComboBoxContentControl Метод

Определение

Перегрузки

AddComboBoxContentControl(String)

Добавляет новый элемент управления ComboBoxContentControl в выделенном фрагменте документа.

AddComboBoxContentControl(ContentControl, String)

Добавляет в коллекцию новый объект ComboBoxContentControl. Новый элемент управления, основанный на собственном элементе управления содержимым в документе.

AddComboBoxContentControl(Range, String)

Добавляет новый объект ComboBoxContentControl в указанный диапазон в документе.

AddComboBoxContentControl(String)

Добавляет новый элемент управления ComboBoxContentControl в выделенном фрагменте документа.

public:
 Microsoft::Office::Tools::Word::ComboBoxContentControl ^ AddComboBoxContentControl(System::String ^ name);
public Microsoft.Office.Tools.Word.ComboBoxContentControl AddComboBoxContentControl (string name);
abstract member AddComboBoxContentControl : string -> Microsoft.Office.Tools.Word.ComboBoxContentControl
Public Function AddComboBoxContentControl (name As String) As ComboBoxContentControl

Параметры

name
String

Имя нового элемента управления.

Возвращаемое значение

Объект ComboBoxContentControl, добавленный в документ.

Исключения

name имеет значение null или нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

Примеры

В следующем примере кода добавляется новый ComboBoxContentControl объект в начало документа. В примере также добавляются имена нескольких цветов в список элементов, которые пользователи могут выбрать в элементе управления .

Эта версия предназначена для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите AddComboBoxControlAtSelection метод из ThisDocument_Startup метода .

private Microsoft.Office.Tools.Word.ComboBoxContentControl comboBoxControl1;

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

    comboBoxControl1 = this.Controls.AddComboBoxContentControl("comboBoxControl1");
    comboBoxControl1.DropDownListEntries.Add("Red", "Red", 0);
    comboBoxControl1.DropDownListEntries.Add("Green", "Green", 1);
    comboBoxControl1.DropDownListEntries.Add("Blue", "Blue", 2);
    comboBoxControl1.PlaceholderText = "Choose a color, or enter your own";
}
Dim comboBoxControl1 As Microsoft.Office.Tools.Word.ComboBoxContentControl

Private Sub AddComboBoxControlAtSelection()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Me.Paragraphs(1).Range.Select()
    comboBoxControl1 = Me.Controls.AddComboBoxContentControl("comboBoxControl1")
    With comboBoxControl1
        .DropDownListEntries.Add("Red", "Red", 0)
        .DropDownListEntries.Add("Green", "Green", 1)
        .DropDownListEntries.Add("Blue", "Blue", 2)
        .PlaceholderText = "Choose a color, or enter your own"
    End With
End Sub

Эта версия предназначена для надстройки уровня приложения, предназначенной для платформа .NET Framework 4 или платформа .NET Framework 4.5. Чтобы использовать этот код, вставьте его в ThisAddIn класс в проекте и вызовите AddComboBoxControlAtSelection метод из ThisAddIn_Startup метода .

private Microsoft.Office.Tools.Word.ComboBoxContentControl comboBoxControl1;

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

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

    comboBoxControl1 = vstoDoc.Controls.AddComboBoxContentControl(
        "comboBoxControl1");
    comboBoxControl1.DropDownListEntries.Add("Red", "Red", 0);
    comboBoxControl1.DropDownListEntries.Add("Green", "Green", 1);
    comboBoxControl1.DropDownListEntries.Add("Blue", "Blue", 2);
    comboBoxControl1.PlaceholderText = "Choose a color, or enter your own";            
}
Dim comboBoxControl1 As Microsoft.Office.Tools.Word.ComboBoxContentControl

Private Sub AddComboBoxControlAtSelection()
    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()
    vstoDoc.Paragraphs(1).Range.Select()
    comboBoxControl1 = vstoDoc.Controls.AddComboBoxContentControl("comboBoxControl1")
    With comboBoxControl1
        .DropDownListEntries.Add("Red", "Red", 0)
        .DropDownListEntries.Add("Green", "Green", 1)
        .DropDownListEntries.Add("Blue", "Blue", 2)
        .PlaceholderText = "Choose a color, or enter your own"
    End With
End Sub

Комментарии

Используйте этот метод, чтобы добавить новый ComboBoxContentControl объект в текущем выделенном фрагменте документа во время выполнения. Для получения дополнительной информации см. Adding Controls to Office Documents at Run Time.

Применяется к

AddComboBoxContentControl(ContentControl, String)

Добавляет в коллекцию новый объект ComboBoxContentControl. Новый элемент управления, основанный на собственном элементе управления содержимым в документе.

public:
 Microsoft::Office::Tools::Word::ComboBoxContentControl ^ AddComboBoxContentControl(Microsoft::Office::Interop::Word::ContentControl ^ contentControl, System::String ^ name);
public Microsoft.Office.Tools.Word.ComboBoxContentControl AddComboBoxContentControl (Microsoft.Office.Interop.Word.ContentControl contentControl, string name);
abstract member AddComboBoxContentControl : Microsoft.Office.Interop.Word.ContentControl * string -> Microsoft.Office.Tools.Word.ComboBoxContentControl
Public Function AddComboBoxContentControl (contentControl As ContentControl, name As String) As ComboBoxContentControl

Параметры

contentControl
ContentControl

Объект ContentControl, который является основой для нового элемента управления.

name
String

Имя нового элемента управления.

Возвращаемое значение

Объект ComboBoxContentControl, добавленный в документ.

Исключения

contentControl имеет nullзначение .-or- name is null или имеет нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

contentControlне является коллекцией стандартных блоков (то есть Type свойство contentControl не имеет значения Microsoft.Office.Interop.Word. WdContentControlType.wdContentControlComboBox).

Примеры

В следующем примере кода создается новое ComboBoxContentControl для каждого собственного поля со списком, которое уже есть в документе.

Эта версия предназначена для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите CreateComboBoxControlsFromNativeControls метод из ThisDocument_Startup метода .

private System.Collections.Generic.List
    <Microsoft.Office.Tools.Word.ComboBoxContentControl> comboBoxControls;

private void CreateComboBoxControlsFromNativeControls()
{
    if (this.ContentControls.Count <= 0)
        return;

    comboBoxControls = new System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.ComboBoxContentControl>();
    int count = 0;

    foreach (Word.ContentControl nativeControl in this.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlComboBox)
        {
            count++;
            Microsoft.Office.Tools.Word.ComboBoxContentControl tempControl =
                this.Controls.AddComboBoxContentControl(nativeControl,
                "VSTOComboBoxContentControl" + count.ToString());
            comboBoxControls.Add(tempControl);
        }
    }
}
Private comboBoxControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.ComboBoxContentControl)

Private Sub CreateComboBoxControlsFromNativeControls()
    If Me.ContentControls.Count <= 0 Then
        Return
    End If

    Dim count As Integer = 0
    For Each nativeControl As Word.ContentControl In Me.ContentControls
        If nativeControl.Type = Word.WdContentControlType.wdContentControlComboBox Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.ComboBoxContentControl = _
                Me.Controls.AddComboBoxContentControl(nativeControl, _
                "VSTOComboBoxContentControl" + count.ToString())
            comboBoxControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

Эта версия предназначена для надстройки уровня приложения, предназначенной для платформа .NET Framework 4 или платформа .NET Framework 4.5. Чтобы использовать этот код, вставьте его в ThisAddIn класс в проекте и вызовите CreateComboBoxControlsFromNativeControls метод из ThisAddIn_Startup метода .

private System.Collections.Generic.List
    <Microsoft.Office.Tools.Word.ComboBoxContentControl> comboBoxControls;

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

    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    if (vstoDoc.ContentControls.Count <= 0)
        return;

    comboBoxControls = new System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.ComboBoxContentControl>();
    int count = 0;

    foreach (Word.ContentControl nativeControl in vstoDoc.ContentControls)
    {
        if (nativeControl.Type == Word.WdContentControlType.wdContentControlComboBox)
        {
            count++;
            Microsoft.Office.Tools.Word.ComboBoxContentControl tempControl =
                vstoDoc.Controls.AddComboBoxContentControl(nativeControl,
                "VSTOComboBoxContentControl" + count.ToString());
            comboBoxControls.Add(tempControl);
        }
    }
}
Private comboBoxControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.ComboBoxContentControl)

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

    Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    If vstoDoc.ContentControls.Count <= 0 Then
        Return
    End If

    Dim count As Integer = 0
    For Each nativeControl As Word.ContentControl In vstoDoc.ContentControls
        If nativeControl.Type = Word.WdContentControlType.wdContentControlComboBox Then
            count += 1
            Dim tempControl As Microsoft.Office.Tools.Word.ComboBoxContentControl = _
                vstoDoc.Controls.AddComboBoxContentControl(nativeControl, _
                "VSTOComboBoxContentControl" + count.ToString())
            comboBoxControls.Add(tempControl)
        End If
    Next nativeControl
End Sub

В следующем примере кода создается новое ComboBoxContentControl поле со списком для каждого собственного поля со списком, добавляемого пользователем в документ.

Эта версия предназначена для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте. Для C# необходимо также прикрепить ThisDocument_ComboBoxContentControlAfterAdd обработчик событий к событию ContentControlAfterAddThisDocument класса .

void ThisDocument_ComboBoxContentControlAfterAdd(Word.ContentControl NewContentControl, bool InUndoRedo)
{
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlComboBox)
    {
        this.Controls.AddComboBoxContentControl(NewContentControl,
            "ComboBoxControl" + NewContentControl.ID);
    }
}
Private Sub ThisDocument_ComboBoxContentControlAfterAdd(ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean) Handles Me.ContentControlAfterAdd

    If NewContentControl.Type = Word.WdContentControlType.wdContentControlComboBox Then
        Me.Controls.AddComboBoxContentControl(NewContentControl, _
            "ComboBoxControl" + NewContentControl.ID)
    End If
End Sub

Эта версия предназначена для надстройки уровня приложения, предназначенной для платформа .NET Framework 4 или платформа .NET Framework 4.5. Чтобы использовать этот код, вставьте его в ThisAddIn класс в проекте. Кроме того, необходимо прикрепить ActiveDocument_ComboBoxContentControlAfterAdd обработчик событий к событию ContentControlAfterAdd активного документа.

void ActiveDocument_ComboBoxContentControlAfterAdd(
    Word.ContentControl NewContentControl, bool InUndoRedo)
{
    Document vstoDoc = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    if (NewContentControl.Type == Word.WdContentControlType.wdContentControlComboBox)
    {
        vstoDoc.Controls.AddComboBoxContentControl(NewContentControl,
            "ComboBoxControl" + NewContentControl.ID);
    }
}
Private Sub ActiveDocument_ComboBoxContentControlAfterAdd( _
    ByVal NewContentControl As Word.ContentControl, _
    ByVal InUndoRedo As Boolean)

    Dim vstoDoc As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    If NewContentControl.Type = Word.WdContentControlType. _
        wdContentControlComboBox Then
        vstoDoc.Controls.AddComboBoxContentControl(NewContentControl, _
            "ComboBoxControl" + NewContentControl.ID)
    End If
End Sub

Комментарии

Используйте этот метод для добавления нового ComboBoxContentControl объекта, основанного на собственном элементе управления содержимым, в документе во время выполнения. Это полезно при создании ComboBoxContentControl во время выполнения и при следующем открытии документа необходимо повторно создать тот же элемент управления. Для получения дополнительной информации см. Adding Controls to Office Documents at Run Time.

Применяется к

AddComboBoxContentControl(Range, String)

Добавляет новый объект ComboBoxContentControl в указанный диапазон в документе.

public:
 Microsoft::Office::Tools::Word::ComboBoxContentControl ^ AddComboBoxContentControl(Microsoft::Office::Interop::Word::Range ^ range, System::String ^ name);
public Microsoft.Office.Tools.Word.ComboBoxContentControl AddComboBoxContentControl (Microsoft.Office.Interop.Word.Range range, string name);
abstract member AddComboBoxContentControl : Microsoft.Office.Interop.Word.Range * string -> Microsoft.Office.Tools.Word.ComboBoxContentControl
Public Function AddComboBoxContentControl (range As Range, name As String) As ComboBoxContentControl

Параметры

range
Range

Объект Range, предоставляющий границы для нового элемента управления.

name
String

Имя нового элемента управления.

Возвращаемое значение

Объект ComboBoxContentControl, добавленный в документ.

Исключения

name имеет значение null или нулевую длину.

Элемент управления с таким именем уже содержится в ControlCollection.

Примеры

В следующем примере кода добавляется новый ComboBoxContentControl объект в начало документа. В примере также добавляются имена нескольких цветов в список элементов, которые пользователи могут выбрать в элементе управления .

Эта версия предназначена для настройки на уровне документа. Чтобы использовать этот код, вставьте его в ThisDocument класс в проекте и вызовите AddComboBoxControlAtRange метод из ThisDocument_Startup метода .

private Microsoft.Office.Tools.Word.ComboBoxContentControl comboBoxControl2;

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

    comboBoxControl2 = this.Controls.AddComboBoxContentControl(this.Paragraphs[1].Range,
        "comboBoxControl2");
    comboBoxControl2.DropDownListEntries.Add("Red", "Red", 0);
    comboBoxControl2.DropDownListEntries.Add("Green", "Green", 1);
    comboBoxControl2.DropDownListEntries.Add("Blue", "Blue", 2);
    comboBoxControl2.PlaceholderText = "Choose a color, or enter your own";
}
Dim comboBoxControl2 As Microsoft.Office.Tools.Word.ComboBoxContentControl

Private Sub AddComboBoxControlAtRange()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    comboBoxControl2 = Me.Controls.AddComboBoxContentControl(Me.Paragraphs(1).Range, "comboBoxControl2")
    With comboBoxControl2
        .DropDownListEntries.Add("Red", "Red", 0)
        .DropDownListEntries.Add("Green", "Green", 1)
        .DropDownListEntries.Add("Blue", "Blue", 2)
        .PlaceholderText = "Choose a color, or enter your own"
    End With
End Sub

Эта версия предназначена для надстройки уровня приложения, предназначенной для платформа .NET Framework 4 или платформа .NET Framework 4.5. Чтобы использовать этот код, вставьте его в ThisAddIn класс в проекте и вызовите AddComboBoxControlAtRange метод из ThisAddIn_Startup метода .

private Microsoft.Office.Tools.Word.ComboBoxContentControl comboBoxControl2;

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

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

    comboBoxControl2 = vstoDoc.Controls.AddComboBoxContentControl(
        vstoDoc.Paragraphs[1].Range,
        "comboBoxControl2");
    comboBoxControl2.DropDownListEntries.Add("Red", "Red", 0);
    comboBoxControl2.DropDownListEntries.Add("Green", "Green", 1);
    comboBoxControl2.DropDownListEntries.Add("Blue", "Blue", 2);
    comboBoxControl2.PlaceholderText = "Choose a color, or enter your own";            
}
Dim comboBoxControl2 As Microsoft.Office.Tools.Word.ComboBoxContentControl

Private Sub AddComboBoxControlAtRange()
    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()
    comboBoxControl2 = vstoDoc.Controls.AddComboBoxContentControl( _
        vstoDoc.Paragraphs(1).Range, "comboBoxControl2")
    With comboBoxControl2
        .DropDownListEntries.Add("Red", "Red", 0)
        .DropDownListEntries.Add("Green", "Green", 1)
        .DropDownListEntries.Add("Blue", "Blue", 2)
        .PlaceholderText = "Choose a color, or enter your own"
    End With
End Sub

Комментарии

Используйте этот метод для добавления нового ComboBoxContentControl объекта в указанном диапазоне в документе во время выполнения. Для получения дополнительной информации см. Adding Controls to Office Documents at Run Time.

Применяется к