나는하여 RichTextBox를 생성하고이 코드 추가 :이 코드는() 사이의 텍스트 색을해야를 RichTextBox 텍스트 색상
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
//()
int selectionStart = richTextBox1.SelectionStart;
string helpText = richTextBox1.Text;
int closerPos;
for (int i = 0; i < helpText.Length; i++)
{
if (helpText[i] == '(')
{
selectionStart = richTextBox1.SelectionStart;
closerPos = helpText.Substring(i).IndexOf(')') + i;
helpText = helpText.Substring(i + 1, closerPos - i - 1);
richTextBox1.Text = richTextBox1.Text.Remove(i + 1, closerPos - i - 1);
richTextBox1.Select(i + 1, 0);
richTextBox1.SelectionColor = Color.Red;
richTextBox1.SelectedText = helpText;
richTextBox1.SelectionColor = Color.Black;
helpText = richTextBox1.Text;
richTextBox1.SelectionStart = selectionStart;
}
}
}
합니다. 예를 들어 는 :
(가)() 적색으로 착색 할 필요가 사이
텍스트 "안녕 텍스트 (sdadsasd) (컬러해야합니다)." 마지막 텍스트 만 색칠합니다. 어떻게 해결할 수 있습니까?
왜 분할해야합니까? – user2203448
richtextbox의 텍스트 안에 몇 개의 텍스트가 있는지 알아야합니다. 실제로 코드는 first()를 찾은 다음 마칩니다. 분할하면 각() 영역에 대한 논리를 실행할 수 있습니다. – Xelom
그래도이 코드가 작동하지 않는 이유는 아직 설명하지 않습니다. – user2203448