Tôi đang cố gắng "đặt lại" định dạng trong RichTextBox của tôi (WinForms, không phải WPF). Trước đây tôi đã sử dụngĐặt lại RTF trong RichTextBox?
richTextBox.Text = richTextBox.Text;
Tuy nhiên, điều đó dường như đột nhiên thất bại trong tôi. Bây giờ không có vấn đề gì tôi đặt richTextBox.Text
, nó vẫn giữ lại một số định dạng rtf.
Tôi đã thử
richTextBox.Rtf = richTextBox.Text;
Tuy nhiên, đó phàn nàn về một định dạng không đúng. Có một cách tốt hơn để làm điều này. (Tất nhiên, chọn toàn bộ điều, sau đó đặt lại màu sau, màu sắc và phông chữ hoạt động, nhưng điều đó dẫn đến nhấp nháy khi toàn bộ nội dung được chọn rồi bỏ chọn, cộng với nó chậm hơn và yêu cầu nhiều mã hơn.) bất kỳ ý tưởng?
Edit: tôi đã nhận được để làm việc này:
string tempTxt = richTextBox.Text;
richTextBox.Clear();
richTextBox.Text = tempTxt;
Nhưng đó có phải là một cách tốt hơn, phải không?
Chỉnh sửa 2: Để rõ ràng, tôi muốn xóa tất cả các định dạng trong khi giữ lại văn bản. Có vẻ như mã trong bản chỉnh sửa đầu tiên sẽ xuất xưởng, trừ khi bất kỳ ai khác có cách mã hóa hiệu quả hơn/tốt hơn.
Sửa 3:
richTextBox.Text = richTextBox.Text.ToString();
dường như không làm việc vì nó vẫn không rõ ràng tất cả các định dạng. Lý do tôi không thích phương thức trong Edit đầu tiên ở trên là nó làm cho hộp văn bản "flash" khi nó xóa nó sau đó nhập lại văn bản. Có vẻ như đơn giản chỉ nên có một phương thức richTextBox.ResetFormatting() hoặc một số cách để truy cập cùng chức năng, như phương thức Clear() rõ ràng (không có ý định chơi chữ) thực hiện một số định dạng đặt lại ngoài việc xóa tất cả văn bản .
Để tóm tắt:
Có cách nào (và nếu như vậy, nó là gì) để thiết lập lại định dạng của văn bản trong một RichTextBox mà không thanh toán bù trừ các văn bản như trong ví dụ trên (vì đó tạo ra nhấp nháy không mong muốn)?
... wow. Thật tuyệt vời! Cảm ơn bạn. Tôi sẽ kiểm tra điều này ngay khi có thể. Bạn đã phát hành mã này theo giấy phép hay chúng tôi có thể tự do kết hợp nó vào mã của chúng tôi không? – NickAldwin
Mọi thứ trên stackoverflow được cấp phép theo giấy phép commons sáng tạo được tìm thấy tại đây: http://creativecommons.org/licenses/by-sa/2.5/legalcode –
BTW, tôi chấp nhận phiếu bầu và câu trả lời được chấp nhận là thanh toán đầy đủ :) –