2009-05-12 13 views
9
private void button1_Click(object sender, EventArgs e) 
{ 
    richTextBox1.AppendText("\r\n"); 
    richTextBox1.Focus(); 
    string s = "Enter "; 
    richTextBox1.AppendText(s + "\r\n"); 
    richTextBox1.SelectionStart = richTextBox1.Text.Length - (s.Length +1); 
    richTextBox1.SelectionLength = s.Length +1; 
    richTextBox1.SelectionFont = new Font("Arial", 12, FontStyle.Bold); 
    richTextBox1.DeselectAll(); 
    richTextBox1.SelectionStart = richTextBox1.Text.Length; 
    richTextBox1.SelectionLength = richTextBox1.Text.Length; 
    richTextBox1.SelectionFont = new Font("Arial", 12, FontStyle.Regular); 
    richTextBox1.DeselectAll(); 
} 

Za każdym razem, gdy użytkownik kliknie przycisk Chcę, aby nowe "Enter" znajdowało się na górze, a nie na dole RichTextBox. Jak mogę to zrobić?Dołącz tekst do początku w polu RTF

Odpowiedz

21

Technicznie, jeśli wstawiasz go na górze tekstu, "wstawiasz" lub "przygotowujesz", a nie "dołączasz". ;)

Możesz użyć właściwości SelectedText, aby wstawić tekst na początku RichTextBox. Właśnie zapukał się szybką aplikację demo do przetestowania go:

private void button1_Click(object sender, EventArgs e) 
    { 
     richTextBox1.SelectionStart = 0; 
     richTextBox1.SelectionLength = 0; 
     richTextBox1.SelectedText = DateTime.Now.ToString(); 
    } 

To wstawia aktualną godzinę na początku RichTextBox gdy button1 kliknięciu.

+0

Przyjemny przykład dla początkujących – lovesall

3

Najprostszy sposób wolę to,

private void button1_Click(object sender, EventArgs e) 
    { 
     richTextBox1.Text = DateTime.Now.ToString() + richTextBox1.Text; 
    } 

będzie poprzedzić Obecny DateTime na Start.

Powiązane problemy