Back to Devexpress

ContentControlComboBox Interface

officefileapi-devexpress-dot-xtrarichedit-dot-api-dot-native-82ddf67b.md

latest7.7 KB
Original Source

ContentControlComboBox Interface

Combo box content control.

Namespace : DevExpress.XtraRichEdit.API.Native

Assembly : DevExpress.RichEdit.v25.2.Core.dll

NuGet Package : DevExpress.RichEdit.Core

Declaration

csharp
public interface ContentControlComboBox :
    ContentControlListBase,
    ContentControlBase
vb
Public Interface ContentControlComboBox
    Inherits ContentControlListBase,
             ContentControlBase

The following members return ContentControlComboBox objects:

Remarks

Create a Combo Box Content Control

The code sample below creates a combo box:

csharp
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;

using (var wordProcessor = new RichEditDocumentServer()) {

    Document document = wordProcessor.Document;
    var contentControls = document.ContentControls;

    var comboBoxPosition = document.CreatePosition(document.Paragraphs[2].Range.End.ToInt() - 1);
    var comboBox = contentControls.InsertComboBoxControl(comboBoxPosition);

    comboBox.AddItem("First Appointment", "First Appointment");
    comboBox.AddItem("Follow-Up Appointment", "Follow-Up Appointment");
    comboBox.AddItem("Laboratory Results Check", "Laboratory Results Check");

    comboBox.SetText("Click to enter a type");
}
vb
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraRichEdit.API.Native

Using wordProcessor = New RichEditDocumentServer()

  Dim document As Document = wordProcessor.Document
  Dim contentControls = document.ContentControls

  Dim comboBoxPosition = document.CreatePosition(document.Paragraphs(2).Range.End.ToInt() - 1)
  Dim comboBox = contentControls.InsertComboBoxControl(comboBoxPosition)

  comboBox.AddItem("First Appointment", "First Appointment")
  comboBox.AddItem("Follow-Up Appointment", "Follow-Up Appointment")
  comboBox.AddItem("Laboratory Results Check", "Laboratory Results Check")

  comboBox.SetText("Click to enter a type")
End Using

Access Combo Box Content Controls

The SubDocument.ContentControls property returns all content controls in a document. Use the ContentControlBase.ControlType property to determine the content control type.

The code sample below retrieves all combo boxes in a document:

csharp
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;

using (var wordProcessor = new RichEditDocumentServer()) {

    Document document = wordProcessor.Document;
    var contentControls = document.ContentControls;

    var comboBoxes = document.ContentControls.Where(contentControl => contentControl.ControlType == ContentControlType.ComboBox).Cast<ContentControlComboBox>();

    foreach (ContentControlComboBox comboBox in comboBoxes)
    {
        // your code here
    }
vb
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraRichEdit.API.Native

Using wordProcessor = New RichEditDocumentServer()

  Dim document As Document = wordProcessor.Document
  Dim contentControls = document.ContentControls

  Dim comboBoxes = document.ContentControls.Where(Function(contentControl) contentControl.ControlType = ContentControlType.ComboBox).Cast(Of ContentControlComboBox)()

  For Each comboBox In comboBoxes
    ' your code here
  Next comboBox

Modify Combo Box Content Controls

Use the ContentControlComboBox class properties to change the combo box parameters. The code sample below retrieves the combo box from the first paragraph and changes its border color:

csharp
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;

using (var wordProcessor = new RichEditDocumentServer()) {

    wordProcessor.LoadDocument("Content Controls.docx");
    Document document = wordProcessor.Document;
    var contentControls = document.ContentControls;
    var firstParagraph = document.Paragraphs[0];
    for (var i = 0; i < contentControls.Count; i++)
    {
        if (firstParagraph.Range.Contains(contentControls[i].Range.Start) && contentControls[i].ControlType == ContentControlType.ComboBox)
        {
            ContentControlComboBox comboBox = (ContentControlComboBox)contentControls[i];

            comboBox.Color = Color.Crimson;
            break;
        }
        wordProcessor.SaveDocument("Content Controls.docx", DocumentFormat.Docx);
    }
}
vb
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraRichEdit.API.Native

Using wordProcessor = New RichEditDocumentServer()

  wordProcessor.LoadDocument("Content Controls.docx")
  Dim document As Document = wordProcessor.Document
  Dim contentControls = document.ContentControls
  Dim firstParagraph = document.Paragraphs(0)
  For i = 0 To contentControls.Count - 1
    If firstParagraph.Range.Contains(contentControls(i).Range.Start) AndAlso contentControls(i).ControlType = ContentControlType.ComboBox Then
      Dim comboBox As ContentControlComboBox = CType(contentControls(i), ContentControlComboBox)

      comboBox.Color = Color.Crimson
      Exit For
    End If
    wordProcessor.SaveDocument("Content Controls.docx", DocumentFormat.Docx)
  Next i
End Using

Remove Combo Box Content Controls

The ContentControlCollection.Remove method allows you to remove specific content control. You can also specify whether to keep control’s contents when the controls is removed.

The code sample below removes all combo boxes from the document:

csharp
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;

using (var wordProcessor = new RichEditDocumentServer()) {
    Document document = wordProcessor.Document;
    var contentControls = document.ContentControls;

    for (var i = 0; i < contentControls.Count; i++)
    {
        if (contentControls[i].ControlType == ContentControlType.ComboBox)
        {
            contentControls.Remove(contentControls[i], true);
        }
    }
}
vb
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraRichEdit.API.Native

Using wordProcessor = New RichEditDocumentServer()
  Dim document As Document = wordProcessor.Document
  Dim contentControls = document.ContentControls

  Dim i = 0
  Do While i < contentControls.Count
    If contentControls(i).ControlType = ContentControlType.ComboBox Then
      contentControls.Remove(contentControls(i), True)
    End If
    i += 1
  Loop
End Using

See Also

ContentControlComboBox Members

DevExpress.XtraRichEdit.API.Native Namespace