VB.NET – RichTextBox – применить форматирование к выделенному тексту

StackOverflow https://stackoverflow.com/questions/109032

Вопрос

у меня есть Ричтекстбокс контроль над моей формой.У меня также есть эта кнопка с надписью Смелый, что я хочу, если кто-то выделит текст в Ричтекстбокс, затем нажимает кнопку выделенный текст станет жирным. Есть ли способ сделать это?Простая повседневная задача для конечных пользователей.Спасибо.

Это было полезно?

Решение

Вариант вышеизложенного, в котором учитывается включение/выключение жирного шрифта в зависимости от информации о шрифте выбранного в данный момент текста:

    With Me.rtbDoc
        If .SelectionFont IsNot Nothing Then
            Dim currentFont As System.Drawing.Font = .SelectionFont
            Dim newFontStyle As System.Drawing.FontStyle

            If .SelectionFont.Bold = True Then
                newFontStyle = currentFont.Style - Drawing.FontStyle.Bold
            Else
                newFontStyle = currentFont.Style + Drawing.FontStyle.Bold
            End If

            .SelectionFont = New Drawing.Font(currentFont.FontFamily, currentFont.Size, newFontStyle)
        End If
    End With

Возможно, его нужно немного подчистить, я взял это из старого проекта.

Другие советы

Вы захотите использовать свойство .SelectionFont RichTextBox и назначить ему объект Font с нужными стилями.

Пример. Этот код будет в обработчике событий кнопки:

Dim bfont As New Font(RichTextBoxFoo.Font, FontStyle.Bold)
RichTextBoxFoo.SelectionFont = bfont
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top