như đã nêu bởi những người khác có một sự trùng lặp có thể xảy ra với một câu hỏi trước đó. Tuy nhiên, vui lòng xem đoạn mã bên dưới. Bạn không cần phải có độ dài của văn bản mà bạn thêm vào để thay đổi định dạng của nó, chỉ cần đặt định dạng trước khi bạn thêm. Điều này (tôi nghĩ) cho hiệu suất tốt hơn nếu bạn có rất nhiều văn bản trong hộp văn bản.
Điều này sẽ hoạt động miễn là không có lựa chọn nào trong hộp văn bản của người dùng, sau đó những điều kỳ lạ sẽ xảy ra mà tôi không thể giải thích. Có lẽ ai đó khác có thể khai sáng cho chúng ta? Cùng một vấn đề xuất hiện với giải pháp được đề xuất trong Change color of text within a WinForms RichTextBox. Tôi thay thế ":" bạn đã có sau khi tên người dùng chỉ để có được mẫu mã của tôi để làm việc dễ dàng hơn với điều DateTime, điều này có thể dễ dàng sửa đổi trong "Split".
private void AddText(string text)
{
string[] str = text.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
if (str.Length == 2)
{
richTextBox1.DeselectAll();
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);
richTextBox1.AppendText(Environment.NewLine + str[0] + ";");
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Regular);
richTextBox1.AppendText(str[1]);
} // Else?? Well, do something else..
}
Và cuộc gọi:
private void button1_Click(object sender, EventArgs e)
{
AddText(DateTime.Now.ToString() + " - Mike; Did something");
}
bản sao có thể có của [Thay đổi màu văn bản trong một RichForm của WinForms] (http://stackoverflow.com/questions/2527700/change-color-of-text-within-a-winforms-richtextbox) – Oliver