Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tekst można zaznaczyć programowo w kontrolce Windows Forms TextBox. Jeśli na przykład utworzysz funkcję, która wyszukuje tekst dla określonego ciągu, możesz wybrać tekst, aby wizualnie powiadomić czytelnika o pozycji znalezionego ciągu.
Aby programowo zaznaczyć tekst
Ustaw właściwość SelectionStart na początek tekstu, który chcesz zaznaczyć.
Właściwość SelectionStart jest liczbą wskazującą punkt wstawienia w tekście, przy czym 0 jest pozycją najbardziej na lewo. Jeśli właściwość SelectionStart jest ustawiona na wartość równą lub większą niż liczba znaków w polu tekstowym, punkt wstawiania jest umieszczany po ostatnim znaku.
Ustaw właściwość SelectionLength na długość tekstu, który chcesz zaznaczyć.
Właściwość SelectionLength jest wartością liczbową, która ustawia szerokość punktu wstawiania. Ustawienie SelectionLength na liczbę większą niż 0 powoduje wybranie tej liczby znaków, począwszy od bieżącego punktu wstawiania.
(Opcjonalnie) Uzyskaj dostęp do zaznaczonego tekstu za pośrednictwem właściwości SelectedText.
Poniższy kod wybiera zawartość pola tekstowego po wystąpieniu zdarzenia Enter kontrolki. W tym przykładzie sprawdza się, czy pole tekstowe ma wartość dla właściwości Text, która nie jest równa
null
ani pustemu ciągowi. Kiedy pole tekstowe otrzymuje fokus, zaznaczany jest aktualny tekst w tym polu. Program obsługi zdarzeńTextBox1_Enter
musi być powiązany z kontrolką; Aby uzyskać więcej informacji, zobacz How to: Create Event Handlers at Run Time for Windows Forms.Aby przetestować ten przykład, naciśnij Tab, dopóki pole tekstowe nie uzyska fokusu. Po kliknięciu w polu tekstowym tekst jest niezaznaczony.
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; } }
Zobacz także
- TextBox
- Kontrolka TextBox — omówienie
- Jak kontrolować punkt wstawiania w kontrolce TextBox na formularzach systemu Windows
- Instrukcje: tworzenie pola tekstowego hasła za pomocą kontrolki TextBox formularzy systemu Windows
- Jak utworzyć Read-Only pole tekstowe
- Jak umieścić cudzysłów w ciągu
- Jak wyświetlić wiele wierszy w kontrolce TextBox w formularzach Windows
- Kontrolka TextBox
.NET Desktop feedback