VB.NET - RichTextBox - 将格式应用于所选文本

时间:2008-09-20 19:07:52

标签: vb.net visual-studio winforms formatting text-editor

我的表单上有一个 RichTextBox 控件。我也有这个标签为 Bold 的按钮,如果有人在 RichTextBox 中选择文字,然后按下按钮,所选文字变为粗体。< / strong>有什么办法吗?最终用户的简单日常任务。感谢。

2 个答案:

答案 0 :(得分:3)

您需要使用RichTextBox的.SelectionFont属性,并为其指定一个具有所需样式的Font对象。

示例 - 此代码将位于按钮的事件处理程序中:

Dim bfont As New Font(RichTextBoxFoo.Font, FontStyle.Bold)
RichTextBoxFoo.SelectionFont = bfont

答案 1 :(得分:3)

上述内容的变体考虑了根据当前所选文本的字体信息切换粗体开/关:

    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

可能需要清理一下,我从一个较旧的项目中删除了它。