2016-04-14 15 views
1

Bir kullanıcı bir 'richtextbox'a yazdığında, onlar için bir sonraki satırı seçecek şekilde nasıl yapabilirim? Örneğin,richtextbox'ta belirli bir satırın seçilmesi

private void richTextBox1_TextChanged(object sender, EventArgs e) 
    { 
     if (richTextBox1.Text.Contains("{")) 
     { 
      richTextBox1.AppendText(Environment.NewLine + " "); // line 1 
      // Put user on line 1 
      richTextBox1.AppendText(Environment.NewLine + "}"); // line 2 
     } 
    } 
+0

Yeni bir satırda kaşlı ayraçlar arasında metin eklemek ister misiniz? ex .. {Merhaba {world}} iki satır merhaba ve dünya olarak görüntülenmeli mi? –

+0

@HariPrasad yep. – conjure

+0

Bunun yerine tuşa basma olayını ele alırsanız iyi olmaz mıydı? Temel olarak, sadece geçerli anahtar "{" ise işlemin yapılmasını sağlamaya çalışın. Şu anda kod, richTextBox1'deki tüm metni arar, böylece ilk küme ayraçından sonraki herhangi bir metin birden çok kez tekrarlanır. Eğer elde etmek istediğin şey buysa ama sadece bahsetmek istediyse, gayet iyi. –

cevap

2

İkinci satır ekleyerek ve ardından ikinci çizgi ekledikten sonra bunun sonunda 0 karakter seçmeden önce metin kutusunun uzunluğunu alarak bunu yapabilirsiniz.

private void richTextBox1_TextChanged(object sender, EventArgs e) 
{ 
    if (richTextBox1.Text.Contains("{")) 
    { 
     richTextBox1.AppendText(Environment.NewLine + " "); // line 1 
     int lastIndex = richTextBox1.Text.Length - 1; 
     richTextBox1.AppendText(Environment.NewLine + "}"); // line 2 
     richTextBox1.SelectionStart = lastIndex; 
     richTextBox1.SelectionLength = 0; 
    } 
} 
İlgili konular