Метод для форматирования текста в C#

Все. Я пишу программу на C# .NET. У меня есть richtextBox в моей форме (Windows Form). Я открываю текстовый файл и помещаю текст в richtextBox. Мне нужно отформатировать выделенный текст с помощью FontDialog. Но изменился весь текст, а не выделен. Какой метод можно применить, чтобы FontDialog изменил только выделенный текст?

Мой код:

 if (fontDialog1.ShowDialog() != DialogResult.Cancel)
        {
            if (richTextBox1.SelectedText.Length > 0)
            {
                richTextBox1.Font = fontDialog1.Font;
                richTextBox1.ForeColor = fontDialog1.Color;
            }

Благодарю.

3 ответа

Вам нужно использовать свойства SelectionFont & SelectionColor richtextBox: потому что используемые вами свойства применяются ко всему содержимому элемента управления

if (fontDialog1.ShowDialog() != DialogResult.Cancel)
        {
            if (richTextBox1.SelectedText.Length > 0)
            {
                richTextBox1.SelectionFont = fontDialog1.Font;
                richTextBox1.SelectionColor = fontDialog1.Color;
            }

Пользователь RichTextBox.SelectionFont свойство

if (fontDialog1.ShowDialog() != DialogResult.Cancel)
    {
        if (richTextBox1.SelectedText.Length > 0)
        {
            richTextBox1.SelectionFont = fontDialog1.Font;
            richTextBox1.SelectionColor = fontDialog1.Color;
        }

Проверьте http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox_members%28v=vs.85%29.aspx для списка всех членов RichTextBox

Документация дляSelectedText дает хорошую помощь

richTextBox1.SelectionFont = fontDialog1.Font
richTextBox1.SelectionColor = fontDialog1.Color;
Другие вопросы по тегам