Back to Devexpress

ContentControlCheckbox Interface

officefileapi-devexpress-dot-xtrarichedit-dot-api-dot-native-461a5934.md

latest7.3 KB
Original Source

ContentControlCheckbox Interface

Checkbox content control.

Namespace : DevExpress.XtraRichEdit.API.Native

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

NuGet Package : DevExpress.RichEdit.Core

Declaration

csharp
public interface ContentControlCheckbox :
    ContentControlBase
vb
Public Interface ContentControlCheckbox
    Inherits ContentControlBase

The following members return ContentControlCheckbox objects:

Remarks

Create a Check Box Content Control

The code sample below shows how to create a checkbox content control:

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

using (var wordProcessor = new RichEditDocumentServer()) {
    wordProcessor.CreateNewDocument();
    Document document = wordProcessor.Document;
    var checkbox = document.ContentControls.InsertCheckboxControl(document.CreatePosition(0));
    checkbox.Title = "Check box";
    checkbox.Checked = true;

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

Using wordProcessor = New RichEditDocumentServer()
  wordProcessor.CreateNewDocument()
  Dim document As Document = wordProcessor.Document
  Dim checkbox = document.ContentControls.InsertCheckboxControl(document.CreatePosition(0))
  checkbox.Title = "Check box"
  checkbox.Checked = True

  wordProcessor.SaveDocument("Content Controls.docx", DocumentFormat.Docx)
End Using

Access Check 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 checkboxes 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 checkBoxes = document.ContentControls.Where(contentControl => contentControl.ControlType == ContentControlType.Checkbox).Cast<ContentControlCheckbox>();

    foreach ( var checkBox in checkBoxes )
    {
        // 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 checkBoxes = document.ContentControls.Where(Function(contentControl) contentControl.ControlType = ContentControlType.Checkbox).Cast(Of ContentControlCheckbox)()

  For Each checkBox In checkBoxes
    ' your code here
  Next checkBox

Modify Check Box Content Controls

Use the ContentControlCheckbox class properties to change the checkbox parameters. The code sample below retrieves the checkbox from the first paragraph and changes its check marker:

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.Checkbox) {
          ContentControlCheckbox checkBox = (ContentControlCheckbox)contentControls[i];

          checkBox.CheckedSymbolStyle.Character = '*';
          checkBox.CheckedSymbolStyle.FontName = "Arial";
          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.Checkbox Then
      Dim checkBox As ContentControlCheckbox = CType(contentControls(i), ContentControlCheckbox)

      checkBox.CheckedSymbolStyle.Character = "*"
      checkBox.CheckedSymbolStyle.FontName = "Arial"
      Exit For
    End If
    wordProcessor.SaveDocument("Content Controls.docx", DocumentFormat.Docx)
  Next i
End Using

Remove Check 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 checkboxes 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.Checkbox)
        {
            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.Checkbox Then
      contentControls.Remove(contentControls(i), True)
    End If
    i += 1
  Loop
End Using

See Also

ContentControlCheckbox Members

DevExpress.XtraRichEdit.API.Native Namespace