Back to Devexpress

TextEdit.SelectionLength Property

windowsforms-devexpress-dot-xtraeditors-dot-textedit-bce92d4d.md

latest9.4 KB
Original Source

TextEdit.SelectionLength Property

Gets or sets the number of characters selected in the text box.

Namespace : DevExpress.XtraEditors

Assembly : DevExpress.XtraEditors.v25.2.dll

NuGet Package : DevExpress.Win.Navigation

Declaration

csharp
[Browsable(false)]
public int SelectionLength { get; set; }
vb
<Browsable(False)>
Public Property SelectionLength As Integer

Property Value

TypeDescription
Int32

An integer value specifying the number of characters selected in the text box.

|

Remarks

The SelectionLength property specifies the number of characters selected within the editor. The first selected character is referred by the TextEdit.SelectionStart property. These properties can be used together to select text in the editor. When the value of the TextEdit.SelectionLength property is set to a value that is larger than the number of characters within the edit box, the value of the TextEdit.SelectionLength property is set to the entire length of text within the control minus the value of the TextEdit.SelectionStart property (if any value is specified for the TextEdit.SelectionStart property).

You can use SelectionLength to determine if any characters are currently selected in the text editor before performing operations on the selected text.

Example

The code below uses the TextEdit control. It provides ItemClick event handlers for BarItem objects that perform the Cut(), Copy(), and Paste() operations. This example requires that a TextEdit object named textEdit1 has been created.

csharp
using DevExpress.XtraEditors;

private void pasteBarButtonItem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
    // Check if there is any text in the Clipboard to paste into the text editor.
    if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) {
        // Check if any text is selected in the text editor.
        if (textEdit1.SelectionLength > 0) {
            // Ask the user if they want to paste over the selected text.
            if (XtraMessageBox.Show("Do you want to paste over current selection?", "Paste", MessageBoxButtons.YesNo) == DialogResult.No)
                // Move selection to the point after the current selection and paste.
                textEdit1.SelectionStart = textEdit1.SelectionStart + textEdit1.SelectionLength;
        }
        // Paste the text into the text editor.
        textEdit1.Paste();
    }
}

private void cutBarButtonItem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
    // Check if any text is selected in the text editor.   
    if (textEdit1.SelectedText.Length > 0)
        // Cut the selected text into the Clipboard.
        textEdit1.Cut();
}

private void copyBarButtonItem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
    // Check if any text is selected in the text editor.   
    if (textEdit1.SelectionLength > 0)
        // Copy the selected text into the Clipboard.
        textEdit1.Copy();
}
vb
Imports DevExpress.XtraEditors

Private Sub pasteBarButtonItem_ItemClick(ByVal sender As Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) _
    Handles pasteBarButtonItem.ItemClick
    ' Check if there is any text in the Clipboard to paste into the text editor.
    If Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) Then
        ' Check if any text is selected in the text editor.
        If textEdit1.SelectionLength > 0 Then
            ' Ask the user if they want to paste over the selected text.
            If XtraMessageBox.Show("Do you want to paste over current selection?", "Paste", MessageBoxButtons.YesNo) = DialogResult.No Then
                ' Move selection to the point after the current selection and paste.
                textEdit1.SelectionStart = textEdit1.SelectionStart + textEdit1.SelectionLength
            End If
        End If
        ' Paste the text into the text editor.
        textEdit1.Paste()
    End If
End Sub

Private Sub cutBarButtonItem_ItemClick(ByVal sender As Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) _
    Handles cutBarButtonItem.ItemClick
    ' Check if any text is selected in the text editor.   
    If textEdit1.SelectedText.Length > 0 Then
        ' Cut the selected text into the Clipboard.
        textEdit1.Cut()
    End If
End Sub

Private Sub copyBarButtonItem_ItemClick(ByVal sender As Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) _
    Handles copyBarButtonItem.ItemClick
    ' Check if any text is selected in the text editor.   
    If textEdit1.SelectionLength > 0 Then
        ' Copy the selected text into the Clipboard.
        textEdit1.Copy()
    End If
End Sub

The following code snippets (auto-collected from DevExpress Examples) contain references to the SelectionLength property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

how-to-implement-a-custom-inplace-editor-for-appointments-e4826/CS/SchedulerInplaceEditorExample/MyInplaceEditor.cs#L81

csharp
if (storage.Appointments.IsNewAppointment(appointment)) {
    edtSubject.SelectionLength = 0;
    edtSubject.SelectionStart = edtSubject.Text.Length;

winforms-dashboard-custom-items-extension/CS/CustomItemExtension/CustomItems/WebPageItem/UriEditForm.cs#L14

csharp
int selectionStart = teUriPattern.SelectionStart;
int selectionlength = teUriPattern.SelectionLength;
string text = teUriPattern.Text;

winforms-grid-add-new-row-by-typing-in-new-item-row/CS/WindowsApplication3/Main.cs#L43

csharp
edit.SelectionStart = 1;
    edit.SelectionLength = 0;
}

how-to-implement-a-custom-inplace-editor-for-appointments-e4826/VB/SchedulerInplaceEditorExample/MyInplaceEditor.vb#L79

vb
If storage.Appointments.IsNewAppointment(appointment) Then
    edtSubject.SelectionLength = 0
    edtSubject.SelectionStart = edtSubject.Text.Length

winforms-dashboard-custom-items-extension/VB/CustomItemExtension/CustomItems/WebPageItem/UriEditForm.vb#L22

vb
Dim selectionStart As Integer = teUriPattern.SelectionStart
Dim selectionlength As Integer = teUriPattern.SelectionLength
Dim _text As String = teUriPattern.Text

winforms-grid-add-new-row-by-typing-in-new-item-row/VB/WindowsApplication3/Main.vb#L37

vb
edit.SelectionStart = 1
    edit.SelectionLength = 0
End If

See Also

Copy()

Cut()

DeselectAll()

Paste()

SelectAll()

SelectedText

SelectionStart

TextEdit Class

TextEdit Members

DevExpress.XtraEditors Namespace