ControlCollection.AddComboBoxContentControl Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
AddComboBoxContentControl(String) |
Adds a new ComboBoxContentControl at the current selection in the document. |
AddComboBoxContentControl(ContentControl, String) |
Adds a new ComboBoxContentControl to the collection. The new control is based on a native content control that is already in the document. |
AddComboBoxContentControl(Range, String) |
Adds a new ComboBoxContentControl at the specified range in the document. |
AddComboBoxContentControl(String)
Adds a new ComboBoxContentControl at the current selection in the document.
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
Parameters
- name
- String
The name of the new control.
Returns
The ComboBoxContentControl that was added to the document.
Exceptions
name
is null
or has zero length.
A control with the same name is already in the ControlCollection.
Examples
The following code example adds a new ComboBoxContentControl to the beginning of the document. The example also adds the names of several colors 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 AddComboBoxControlAtSelection
method from the ThisDocument_Startup
method.
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
This version is for an application-level add-in that targets the .NET Framework 4 or the .NET Framework 4.5. To use this code, paste it into the ThisAddIn
class in your project, and call the AddComboBoxControlAtSelection
method from the ThisAddIn_Startup
method.
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
Remarks
Use this method to add a new ComboBoxContentControl at the current selection in the document at run time. For more information, see Adding Controls to Office Documents at Run Time.
Applies to
AddComboBoxContentControl(ContentControl, String)
Adds a new ComboBoxContentControl to the collection. The new control is based on a native content control that is already in the document.
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
Parameters
- contentControl
- ContentControl
The ContentControl that is the basis for the new control.
- name
- String
The name of the new control.
Returns
The ComboBoxContentControl that was added to the document.
Exceptions
contentControl
is null
.-or-
name
is null
or has zero length.
A control with the same name is already in the ControlCollection.
contentControl
is not a building block gallery (that is, the Type property of contentControl
does not have the value Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlComboBox).
Examples
The following code example creates a new ComboBoxContentControl for every native combo box that is already in the document.
This version is for a document-level customization. To use this code, paste it into the ThisDocument
class in your project, and call the CreateComboBoxControlsFromNativeControls
method from the ThisDocument_Startup
method.
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
This version is for an application-level add-in that targets the .NET Framework 4 or the .NET Framework 4.5. To use this code, paste it into the ThisAddIn
class in your project, and call the CreateComboBoxControlsFromNativeControls
method from the ThisAddIn_Startup
method.
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
The following code example creates a new ComboBoxContentControl for every native combo box that the user adds to the document.
This version is for a document-level customization. To use this code, paste it into the ThisDocument
class in your project. For C#, you must also attach the ThisDocument_ComboBoxContentControlAfterAdd
event handler to the ContentControlAfterAdd event of the ThisDocument
class.
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
This version is for an application-level add-in that targets the .NET Framework 4 or the .NET Framework 4.5. To use this code, paste it into the ThisAddIn
class in your project. Also, you must attach the ActiveDocument_ComboBoxContentControlAfterAdd
event handler to the ContentControlAfterAdd event of the active document.
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
Remarks
Use this method to add a new ComboBoxContentControl that is based on a native content control in the document at run time. This is useful when you create a ComboBoxContentControl at run time, and you want to recreate the same control the next time the document is opened. For more information, see Adding Controls to Office Documents at Run Time.
Applies to
AddComboBoxContentControl(Range, String)
Adds a new ComboBoxContentControl at the specified range in the document.
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
Parameters
- name
- String
The name of the new control.
Returns
The ComboBoxContentControl that was added to the document.
Exceptions
name
is null
or has zero length.
A control with the same name is already in the ControlCollection.
Examples
The following code example adds a new ComboBoxContentControl to the beginning of the document. The example also adds the names of several colors 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 AddComboBoxControlAtRange
method from the ThisDocument_Startup
method.
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
This version is for an application-level add-in that targets the .NET Framework 4 or the .NET Framework 4.5. To use this code, paste it into the ThisAddIn
class in your project, and call the AddComboBoxControlAtRange
method from the ThisAddIn_Startup
method.
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
Remarks
Use this method to add a new ComboBoxContentControl at a specified range in the document at run time. For more information, see Adding Controls to Office Documents at Run Time.