VB.NET-RichTextBox-将格式应用于所选文本
时间:2020-03-06 14:29:26 来源:igfitidea点击:
我的表单上有一个RichTextBox控件。我还拥有一个我想要的标记为粗体的按钮,如果有人在RichTextBox中选择文本,然后按下该按钮,则所选文本将变为粗体。有什么办法吗?最终用户的日常简单任务。谢谢。
解决方案
我们将要使用RichTextBox的.SelectionFont属性,并为其分配具有所需样式的Font对象。
示例此代码将在按钮的事件处理程序中:
Dim bfont As New Font(RichTextBoxFoo.Font, FontStyle.Bold) RichTextBoxFoo.SelectionFont = bfont
上面的一种变体,考虑了根据当前所选文本的字体信息打开/关闭粗体:
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
可能需要清理一点,我从一个较旧的项目中删除了此内容。