tôi dường như được trải qua một vấn đề rất không bình thường với RichTextBox
điều khiển, lập trình trong C# trong Visual Studio 2008.RichTextBox không chế biến nhân vật trở lại dòng/vận chuyển mới
Tôi hiện đang đọc dòng của một tệp được là được viết bởi cửa sổ giao diện điều khiển (với chuyển hướng đầu ra), và tôi đang đọc nó vào chương trình của tôi (về cơ bản, tôi đang tái tạo những gì được biết đến trong thế giới unix là "đuôi").
Khi một mảng byte được đọc, tôi muốn quay lại dòng mới và tiếp tục đọc. Tuy nhiên, có vẻ như RTB của tôi sẽ không trả lời các ký tự trả về dòng hoặc ký tự dòng mới. Ví dụ: tôi đã thử thêm \n
, \r\n
và thậm chí Environment.NewLine
vào chuỗi được viết, nhưng dường như không có gì hoạt động. Nó chỉ tiếp tục viết trên cùng một dòng.
Dưới đây là đoạn code mà dường như được gây rắc rối:
string convertedBuffer = System.Text.Encoding.UTF8.GetString((byte[])e.UserState);
outputBox.AppendText(convertedBuffer + "\n");
Tôi thực sự lúng túng ở đây, bất cứ ai có thể giúp đỡ?
Điều đó đã được tôi đoán, thật không may, giá trị Multiline được đặt thành true. Để biết thêm thông tin, khi tôi gán cho thuộc tính Văn bản thay vì thêm vào nó, có vẻ như các ký tự dòng mới được nhận dạng đầy đủ, vì tôi có thể thấy con trỏ di chuyển xuống hai dòng với tôi sử dụng \ n \ n. Tuy nhiên, trong khối mã của tôi được đăng ở trên, nó vẫn không hoạt động. – TGP1994
@ TGP1994: Thật kỳ quặc. Tôi đã kiểm tra nó: Thêm một 'Form'' Form1' mới và thêm vào nó một 'richTextBox1' mới với các giá trị mặc định của nó. Bây giờ tại mã đánh giá đa dòng thêm như 'richTextBox1.AppendText (" Testing ... "+ Environment.NewLine); richTextBox1.AppendText ("Testing ..." + Environment.NewLine); 'Nó sẽ hoạt động như mong đợi ... –
Điều gì về nối thêm một chuỗi được tạo ra từ System.Text.Encoding.UTF8.GetString()? – TGP1994