【发布时间】:2016-10-24 23:35:16
【问题描述】:
这应该很容易,但它让我望而却步。我在 VB.NET 中有一个 RichTextBox,用户可以在其中输入文本。我希望他们能够选择一些文本,然后更改所选内容的字体属性。
【问题讨论】:
标签: vb.net fonts richtextbox
这应该很容易,但它让我望而却步。我在 VB.NET 中有一个 RichTextBox,用户可以在其中输入文本。我希望他们能够选择一些文本,然后更改所选内容的字体属性。
【问题讨论】:
标签: vb.net fonts richtextbox
这是我为您快速编写的内容。
它将获取系统上所有已安装的字体并将它们添加到组合框中,因此您不必手动添加它们。
我也这样做了,所以每当您更改我添加的组合框的字体类型时,它都会更新 RichTextBox 的字体。
Imports System.Drawing.Text
Public Class Form1
''CREATE ANOTHER COMBOBOX TO CHANGE THE SIZE OF THE TEXT USING THE SAME METHOD
''AS THE FONT COMBOBOX.
Dim FONTSIZE = 8
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim InstalledFonts = New InstalledFontCollection
Dim FontFamilies() As FontFamily = InstalledFonts.Families
For Each Font As FontFamily In FontFamilies
ComboBox1.Items.Add(Font.Name)
Next
''THE END USER WONT BE ABOUT TO EDIT THE INSTALLED ITEMS IN THE COMBOBOX
''THE STARTING FONT IS CONSOLAS
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
ComboBox1.Text = "Consolas"
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
''THIS WILL CHANGE THE HIGHLIGHTED "SELECTED" TEXT FONT ONLY
''AS ASKED FOR IN QUESTION
RichTextBox1.SelectionFont = New Drawing.Font(ComboBox1.Text, FONTSIZE)
End Sub
End Class
您需要在表单中添加一个组合框和一个富文本框,这样也可以工作。
如果您有任何问题,请告诉我,我会尽力帮助您工作。
【讨论】:
FontDialog 会不会更好? :)
感谢 Werdna,您的回答给了我一些方向。我确实使用了 FontDialog,因为最后我想允许其他字体更改,例如样式和颜色。
Private Sub rtf_Notes_MouseUp(sender As Object, e As MouseEventArgs) Handles rtf_Notes.MouseUp
'Test for right-click
If (e.Button = Windows.Forms.MouseButtons.Right) Then
With FontDialog1
.ShowColor = True
If (.ShowDialog() = Windows.Forms.DialogResult.OK) Then
rtf_Notes.SelectionFont = New Drawing.Font(.Font.Name, .Font.Size, .Font.Style)
rtf_Notes.SelectionColor = .Color
End If
End With
End If
End Sub
【讨论】: