Porady: zaznaczanie tekstu w formancie TextBox formularzy systemu Windows
Tekst można zaznaczyć programowo w kontrolce Formularze TextBox systemu Windows. 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
SelectionStart Ustaw właściwość na początek tekstu, który chcesz zaznaczyć.
Właściwość SelectionStart jest liczbą wskazującą punkt wstawiania w ciągu tekstu, a wartość 0 jest pozycją najwięcej po lewej stronie. SelectionStart Jeśli właściwość jest ustawiona na wartość równą lub większą niż liczba znaków w polu tekstowym, punkt wstawiania jest umieszczany po ostatnim znaku.
SelectionLength Ustaw właściwość na długość tekstu, który chcesz zaznaczyć.
Właściwość SelectionLength jest wartością liczbową, która ustawia szerokość punktu wstawiania. SelectionLength Ustawienie wartości 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 SelectedText tekstu za pośrednictwem właściwości .
Poniższy kod wybiera zawartość pola tekstowego po wystąpieniu zdarzenia kontrolki Enter . W tym przykładzie sprawdza się, czy pole tekstowe ma wartość właściwości Text , która nie
null
jest pustym ciągiem. Gdy pole tekstowe odbierze fokus, zaznaczony jest bieżący tekst w polu tekstowym. ProceduraTextBox1_Enter
obsługi zdarzeń musi być powiązana z kontrolką. Aby uzyskać więcej informacji, zobacz How to: Create Event Handlers at Run Time for Windows Forms (Jak tworzyć programy obsługi zdarzeń w czasie wykonywania formularzy systemu Windows).Aby przetestować ten przykład, naciśnij klawisz Tab, dopóki pole tekstowe nie ma 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 też
- TextBox
- TextBox, kontrolka — omówienie
- Instrukcje: kontrolowanie punktu wstawiania w kontrolce TextBox formularzy Windows Forms
- Instrukcje: tworzenie pola tekstowego hasła za pomocą kontrolki TextBox formularzy Windows Forms
- Instrukcje: tworzenie pola tekstowego tylko do odczytu
- Instrukcje: umieszczanie cudzysłowu w ciągu
- Instrukcje: wyświetlanie wielu wierszy w kontrolce TextBox formularzy Windows Forms
- TextBox, kontrolka
.NET Desktop feedback