Sdílet prostřednictvím


Postupy: Výběr textu v ovládacím prvku Windows Forms TextBox

Text můžete vybrat programově v ovládacím prvku Windows Forms TextBox. Pokud například vytvoříte funkci, která hledá text pro určitý řetězec, můžete vybrat text, který vizuálně upozorní čtenáře pozice nalezeného řetězce.

Programový výběr textu

  1. Nastavte vlastnost SelectionStart na začátek textu, který chcete vybrat.

    Vlastnost SelectionStart je číslo, které označuje bod vložení v textovém řetězci, přičemž 0 je pozice nejvíce vlevo. Pokud je vlastnost SelectionStart nastavena na hodnotu rovnou nebo větší než počet znaků v textovém poli, kurzor se umístí za poslední znak.

  2. Nastavte vlastnost SelectionLength na délku textu, který chcete vybrat.

    Vlastnost SelectionLength je číselná hodnota, která nastavuje šířku místa vložení. Nastavení SelectionLength na číslo větší než 0 způsobí, že je tento počet znaků vybrán, počínaje aktuálním místem vkladu.

  3. (Volitelné) Přístup k vybranému textu prostřednictvím vlastnosti SelectedText.

    Následující kód vybere obsah textového pole, když dojde k události Enter ovládacího prvku. Tento příklad zkontroluje, jestli má textové pole hodnotu pro vlastnost Text, která není null nebo prázdný řetězec. Když textové pole obdrží fokus, je vybraný aktuální text v textovém poli. Obslužná rutina události TextBox1_Enter musí být vázána na ovládací prvek; Další informace naleznete v tématu Postupy: Vytváření obslužných rutin událostí za běhu pro Windows Forms.

    Pokud chcete tento příklad otestovat, stiskněte opakovaně klávesu Tab, dokud textové pole nebude v centru pozornosti. Pokud kliknete do textového pole, text se nevybíná.

    Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter  
       If (Not String.IsNullOrEmpty(TextBox1.Text)) Then  
          TextBox1.SelectionStart = 0  
          TextBox1.SelectionLength = TextBox1.Text.Length  
       End If  
    End Sub  
    
    private void textBox1_Enter(object sender, System.EventArgs e){  
       if (!String.IsNullOrEmpty(textBox1.Text))  
       {  
          textBox1.SelectionStart = 0;  
          textBox1.SelectionLength = textBox1.Text.Length;  
       }  
    }  
    
    private:  
       void textBox1_Enter(System::Object ^ sender,  
          System::EventArgs ^ e) {  
       if (!System::String::IsNullOrEmpty(textBox1->Text))  
       {  
          textBox1->SelectionStart = 0;  
          textBox1->SelectionLength = textBox1->Text->Length;  
       }  
    }  
    

Viz také