> 백엔드 개발 > C++ > RichTextBox에서 다른 텍스트 세그먼트를 어떻게 채색 할 수 있습니까?

RichTextBox에서 다른 텍스트 세그먼트를 어떻게 채색 할 수 있습니까?

Patricia Arquette
풀어 주다: 2025-01-25 17:08:10
원래의
674명이 탐색했습니다.

How Can I Colorize Different Segments of Text within a RichTextBox?

RichTextBox에서 텍스트 조각 색상화

RichTextBox 컨트롤의 텍스트 표시를 향상하려면 특정 부분을 강조하기 위해 다양한 색상을 사용해야 하는 경우가 많습니다. 다양한 콘텐츠를 포함하는 동적으로 생성된 문자열이 있는 시나리오를 생각해 보세요. 이 경우 괄호 안의 타임스탬프, 사용자 이름 및 메시지 자체에 다른 색상을 할당할 수 있습니다.

이 색상을 구현하려면 RichTextBox의 AppendText 메서드를 오버로드하고 색상 매개변수를 추가하는 확장 메서드를 구현할 수 있습니다.

<code class="language-C#">public static class RichTextBoxExtensions
{
    public static void AppendText(this RichTextBox box, string text, Color color)
    {
        box.SelectionStart = box.TextLength;
        box.SelectionLength = 0;
        box.SelectionColor = color;
        box.AppendText(text);
        box.SelectionColor = box.ForeColor; //重置颜色
    }
}</code>
로그인 후 복사

이 확장 방법을 사용하면 아래와 같이 문자열의 일부에 색상을 지정할 수 있습니다.

<code class="language-C#">string userid = "USER0001";
string message = "访问被拒绝";
RichTextBox box = new RichTextBox
{
    Dock = DockStyle.Fill,
    Font = new Font("Courier New", 10)
};

box.AppendText("[" + DateTime.Now.ToShortTimeString() + "]", Color.Red);
box.AppendText(" ");
box.AppendText(userid, Color.Green);
box.AppendText(": ");
box.AppendText(message, Color.Blue);
box.AppendText(Environment.NewLine);

Form form = new Form { Controls = { box } };
form.ShowDialog();</code>
로그인 후 복사

이 기술은 RichTextBox 콘텐츠의 색상을 정밀하게 제어하여 시각적 매력과 가독성을 향상시킵니다.

위 내용은 RichTextBox에서 다른 텍스트 세그먼트를 어떻게 채색 할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿