TextBoxBase.SelectionLength Właściwość

Definicja

Pobiera lub ustawia liczbę znaków zaznaczonych w polu tekstowym.

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

Wartość właściwości

Liczba znaków zaznaczonych w polu tekstowym.

Atrybuty

Wyjątki

Przypisana wartość jest mniejsza niż zero.

Przykłady

W poniższym przykładzie kodu użyto TextBoxklasy pochodnej . Udostępnia Click programy obsługi zdarzeń dla MenuItem obiektów wykonujących operacje wycinania, kopiowania, wklejania i cofania. Ten przykład wymaga utworzenia kontrolki TextBox o nazwie 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();
    }
 }

Uwagi

Za pomocą tej właściwości można określić, czy jakiekolwiek znaki są aktualnie zaznaczone w kontrolce pola tekstowego przed wykonaniem operacji na zaznaczonym tekście. Gdy wartość SelectionLength właściwości jest ustawiona na wartość większą niż liczba znaków w tekście kontrolki, wartość SelectionLength właściwości jest ustawiana na całą długość tekstu w kontrolce pomniejszonej o wartość SelectionStart właściwości (jeśli dla właściwości określono dowolną SelectionStart wartość).

Uwaga

Możesz programowo przenieść daszek w polu tekstowym, ustawiając SelectionStart wartość na pozycję w polu tekstowym, w którym daszek ma zostać przeniesiony do i ustawić SelectionLength właściwość na wartość zero (0). Aby daszek został przeniesiony, pole tekstowe musi mieć fokus.

Dotyczy

Produkt Wersje
.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

Zobacz też