2009-05-12 47 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(); 
} 

Mỗi lần người dùng nhấp vào nút tôi muốn "Enter" mới ở trên đầu chứ không phải ở dưới cùng của RichTextBox. Tôi làm nó như thế nào?Nối văn bản vào đầu trong Hộp văn bản có dạng thức

Trả lời

21

Về mặt kỹ thuật nếu bạn đang chèn nó ở đầu văn bản, bạn đang "chèn" hoặc "thêm vào", chứ không phải "phụ thêm". ;)

Bạn có thể sử dụng thuộc tính SelectedText để chèn văn bản ở đầu RichTextBox. Tôi vừa mới nhấn mạnh một ứng dụng demo nhanh để thử nghiệm:

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

Điều đó sẽ chèn thời gian hiện tại khi bắt đầu RichTextBox khi nhấn nút1.

+0

Ví dụ đẹp cho người mới – lovesall

3

đơn giản nhất cách tôi thích là,

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

Nó sẽ thêm vào trước DateTime hiện tại Start.

Các vấn đề liên quan