2010-05-22 2 views
0

Я хочу, чтобы изменить цвет и размер шрифта на 1 строку в RichTextBoxRichTextBox шрифт

String [] wo = {"hi","hello","11111","he","she"}; 
    richTextBox1.SelectionFont = new Font("Verdana", 10, FontStyle.Regular); 
    richTextBox1.SelectionColor = Color.Blue; 
    richTextBox1.SelectedText += Environment.NewLine + wo[0]; 
    richTextBox1.SelectedText += Environment.NewLine + wo[1];    
    richTextBox1.SelectedText += Environment.NewLine + wo[2]; 
    richTextBox1.SelectedText += Environment.NewLine + wo[3]; 
    richTextBox1.SelectedText += Environment.NewLine + wo[4]; 

Я хочу изменить только строку «11111» и оставить остальные строки по умолчанию помощи

+0

И вы хотите сохранить/восстановить выбор? –

+0

Да, просто измените wo [2] на синий и сохраните остальные по умолчанию – habbo95

ответ

1

Это должно работать

private static void setColorOnLine(RichTextBox richTextBox1, int line, Color col) { 
    // save old values 
    int caretPosition = richTextBox1.SelectionStart; 
    int selectionLength = richTextBox1.SelectionLength; 
    Color selectionColor = richTextBox1.SelectionColor; 

    int start = richTextBox1.GetFirstCharIndexFromLine(line); 
    int count = richTextBox1.Lines[line].Length; 
    richTextBox1.Select(start, count); 
    richTextBox1.SelectionColor = col; 

    // restore 
    richTextBox1.SelectionStart = caretPosition; 
    richTextBox1.SelectionLength = selectionLength; 
    richTextBox1.SelectionColor = selectionColor; 
} 
+0

Спасибо, он работает – habbo95

0

Вы можете использовать метод Select для выбора строки (через текстовые позиции), а затем вы используете свойства SelectionColor и SelectionFont для изменения настроек.

Вы можете использовать метод Find, чтобы найти текст для изменения.

Вот страница справки для Select:

http://msdn.microsoft.com/en-us/library/xc4fh98s.aspx

Смежные вопросы