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

В моей форме есть элемент управления RichTextBox. У меня также есть эта кнопка с надписью Bold, которую я хочу, если кто-то выделит текст в RichTextBox, а затем нажмет кнопку, выделенный текст станет полужирным.< /strong> Как это сделать? Простая повседневная задача для конечных пользователей. Спасибо.


person Community    schedule 20.09.2008    source источник


Ответы (2)


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

    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

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

person VanSkalen    schedule 22.09.2008

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

Пример - этот код будет в обработчике события для кнопки:

Dim bfont As New Font(RichTextBoxFoo.Font, FontStyle.Bold)
RichTextBoxFoo.SelectionFont = bfont
person ahockley    schedule 20.09.2008
comment
Ах да, а как сделать, чтобы при снятой кнопке шрифт возвращался нормальный? - person ; 23.09.2008