Tôi sử dụng biểu mẫu C# windows và tôi có richtextbox và tôi muốn tô màu một số văn bản màu đỏ, một số màu xanh lục và một số màu đen.Cách sử dụng đa màu trong richtextbox
Làm như thế nào? Đã đính kèm hình ảnh.
Tôi sử dụng biểu mẫu C# windows và tôi có richtextbox và tôi muốn tô màu một số văn bản màu đỏ, một số màu xanh lục và một số màu đen.Cách sử dụng đa màu trong richtextbox
Làm như thế nào? Đã đính kèm hình ảnh.
System.Windows.Forms.RichTextBox
đã có một loại tài sản của Color
của tên SelectionColor
mà được hoặc đặt màu chữ của vùng chọn hay chèn điểm hiện tại. Bạn có thể sử dụng thuộc tính này để đánh dấu các trường cụ thể trong số RichTextBox
của mình bằng các màu bạn chỉ định.
Ví dụ
RichTextBox _RichTextBox = new RichTextBox(); //Initialize a new RichTextBox of name _RichTextBox
_RichTextBox.Select(0, 8); //Select text within 0 and 8
_RichTextBox.SelectionColor = Color.Red; //Set the selected text color to Red
_RichTextBox.Select(8, 16); //Select text within 8 and 16
_RichTextBox.SelectionColor = Color.Green; //Set the selected text color to Green
_RichTextBox.Select(0,0); //Select text within 0 and 0
ý rằng: Bạn có thể tránh tính toán bằng cách sử dụng RichTextBox.Find(string str)
có thể được thêm thông qua Object Browser
nếu bạn muốn đánh dấu văn bản trong Lines
trong RichTextBox
cho nó là giá trị
Ví dụ
RichTextBox _RichTextBox = new RichTextBox(); //Initialize a new RichTextBox of name _RichTextBox
_RichTextBox.Find("Account 12345, deposit 100$, balance 200$"); //Find the text provided
_RichTextBox.SelectionColor = Color.Green; //Set the selected text color to Green
Cảm ơn,
Tôi hy vọng bạn tìm thấy điều này hữu ích :)
tôi thấy phương pháp này mở rộng cung cấp cho bạn khả năng thay đổi màu sắc của chuỗi cũng như chèn một giá trị xuống dòng:
public static void AppendText(this RichTextBox box, string text, Color color, bool AddNewLine = false)
{
if (AddNewLine)
{
text += Environment.NewLine;
}
box.SelectionStart = box.TextLength;
box.SelectionLength = 0;
box.SelectionColor = color;
box.AppendText(text);
box.SelectionColor = box.ForeColor;
}
Tôi nghĩ bạn cũng có thể thêm 'box.SuspendLayout()' tại bắt đầu của phương thức và 'box.ResumeLayout()' ở cuối. – tedebus
bạn có thể sử dụng Run đối tượng để thay đổi màu sắc khi chạy
private Run GetForegroundColor(string strInformation, Brush color)
{
Run noramlRun = new Run(strInformation);
noramlRun.Foreground = color;
return noramlRun;
}
cho kịch bản phức tạp hơn như thay đổi màu sắc dựa trên yêu cầu sau đó truy cập liên kết đòn
Một số mã mà cho thấy những gì bạn đã làm sẽ là hữu ích. –
@PaulHiemstra Thực ra tôi là một lập trình viên C++, C, Java, Assembly và nhiều lập trình viên khác, tôi chưa bao giờ sử dụng C# trước đây. Tôi lấy một khóa học trong ảnh cắt dán về C#. 'Cho đến khi tôi đi vào kinh doanh, tôi có thể cần sự giúp đỡ của bạn. cám ơn vì đã lắng nghe. – Billie
Tôi hy vọng đây là giải pháp mà bạn đang tìm kiếm http://stackoverflow.com/a/27149285/998483 – Boobalan