Aracılığıyla paylaş


Nasıl yapılır: Windows Forms TextBox Denetiminde Metin Seçme

Windows Forms TextBox denetiminde program aracılığıyla metin seçebilirsiniz. Örneğin, belirli bir dize için metin arayan bir işlev oluşturursanız, bulunan dizenin konumunu okuyucuya görsel olarak uyarmak için metni seçebilirsiniz.

Metni program aracılığıyla seçmek için

  1. SelectionStart özelliğini seçmek istediğiniz metnin başına ayarlayın.

    SelectionStart özelliği, metin dizesi içinde ekleme noktasını belirten bir sayıdır ve 0 en soldaki konumdur. SelectionStart özelliği, metin kutusundaki karakter sayısına eşit veya ondan büyük bir değere ayarlanırsa, ekleme noktası son karakterden sonra yerleştirilir.

  2. SelectionLength özelliğini seçmek istediğiniz metnin uzunluğuna ayarlayın.

    SelectionLength özelliği, ekleme noktasının genişliğini ayarlayan sayısal bir değerdir. SelectionLength 0'dan büyük bir sayıya ayarlamak, geçerli ekleme noktasından başlayarak bu sayıda karakterin seçilmesine neden olur.

  3. (İsteğe bağlı) seçili metne SelectedText özelliği aracılığıyla erişin.

    Aşağıdaki kod, denetimin Enter olayı gerçekleştiğinde metin kutusunun içeriğini seçer. Bu örnek, metin kutusunun Text özelliği için değerin null veya boş bir dize olmadığını kontrol eder. Metin kutusu odağı aldığında, metin kutusundaki geçerli metin seçilidir. TextBox1_Enter olay işleyicisi denetime bağlı olmalıdır; Daha fazla bilgi için bkz. Nasıl yapılır: Windows Formsiçin Çalışma Zamanında Olay İşleyicileri Oluşturma.

    Bu örneği test etmek için, odak metin kutusuna gelene kadar Sekme tuşuna basın. Metin kutusuna tıklarsanız, metin seçili değildir.

    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;
       }
    }
    

Ayrıca bakınız