TextBoxBase.SelectionLength Propiedad

Definición

Obtiene o establece el número de caracteres seleccionados en el cuadro de texto.

C#
[System.ComponentModel.Browsable(false)]
public virtual int SelectionLength { get; set; }

Valor de propiedad

Número de caracteres seleccionados en el cuadro de texto.

Atributos

Excepciones

El valor asignado es menor que cero.

Ejemplos

En el ejemplo de código siguiente se usa TextBox, una clase derivada. Proporciona Click controladores de eventos para MenuItem objetos que realizan operaciones Cortar, Copiar, Pegar y Deshacer. En este ejemplo se requiere que se haya creado un TextBox control denominado textBox1 .

C#
private void Menu_Copy(System.Object sender, System.EventArgs e)
 {
    // Ensure that text is selected in the text box.   
    if(textBox1.SelectionLength > 0)
        // Copy the selected text to the Clipboard.
        textBox1.Copy();
 }
 
 private void Menu_Cut(System.Object sender, System.EventArgs e)
 {   
     // Ensure that text is currently selected in the text box.   
     if(textBox1.SelectedText != "")
        // Cut the selected text in the control and paste it into the Clipboard.
        textBox1.Cut();
 }
 
 private void Menu_Paste(System.Object sender, System.EventArgs e)
 {
    // Determine if there is any text in the Clipboard to paste into the text box.
    if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text))
    {
        // Determine if any text is selected in the text box.
        if(textBox1.SelectionLength > 0)
        {
          // Ask user if they want to paste over currently selected text.
          if(MessageBox.Show("Do you want to paste over current selection?", "Cut Example", MessageBoxButtons.YesNo) == DialogResult.No)
             // Move selection to the point after the current selection and paste.
             textBox1.SelectionStart = textBox1.SelectionStart + textBox1.SelectionLength;
        }
        // Paste current text in Clipboard into text box.
        textBox1.Paste();
    }
 }

 private void Menu_Undo(System.Object sender, System.EventArgs e)
 {
    // Determine if last operation can be undone in text box.   
    if (textBox1.CanUndo)
    {
       // Undo the last operation.
       textBox1.Undo();
       // Clear the undo buffer to prevent last action from being redone.
       textBox1.ClearUndo();
    }
 }

Comentarios

Puede usar esta propiedad para determinar si hay caracteres seleccionados actualmente en el control de cuadro de texto antes de realizar operaciones en el texto seleccionado. Cuando el valor de la SelectionLength propiedad se establece en un valor mayor que el número de caracteres dentro del texto del control, el valor de la SelectionLength propiedad se establece en toda la longitud del texto dentro del control menos el valor de la SelectionStart propiedad (si se especifica algún valor para la SelectionStart propiedad).

Nota

Puede mover mediante programación el símbolo de intercalación dentro del cuadro de texto estableciendo la SelectionStart posición dentro del cuadro de texto donde desea que el símbolo de intercalación se mueva y establezca la SelectionLength propiedad en un valor de cero (0). El cuadro de texto debe tener el foco para que se mueva el símbolo de intercalación.

Se aplica a

Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también