如何禁用RichTextBox颜色/大小更改属性?

时间:2019-04-21 08:53:21

标签: vb.net winforms richtextbox

例如,当我复制三行代码(来自VS)并将其直接粘贴到RichTextBox中时,字体/大小/颜色将变形(例如,“ End sub”颜色将变为蓝色)。有什么办法可以禁用此属性?

2 个答案:

答案 0 :(得分:0)

假设这是WinForms,并且由于RichTextBox没有默认的上下文菜单,您可能必须使用 Ctrl + V 粘贴内容。在这种情况下,您可以使用KeyDown事件来处理文本的粘贴方式。这样的事情应该起作用:

Private Sub RichTextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles RichTextBox1.KeyDown
    If (e.Control AndAlso e.KeyCode = Keys.V) Then
        RichTextBox1.Text = RichTextBox1.Text.Insert(RichTextBox1.SelectionStart,
                                                     Clipboard.GetText())
        e.Handled = True
    End If
End Sub

注意:如果愿意,您还可以捕获使用较少的组合 Shift + 插入

If (e.Control AndAlso e.KeyCode = Keys.V) OrElse (e.Shift AndAlso e.KeyCode = Keys.Insert) Then

答案 1 :(得分:0)

可以使用“选项”工具来个性化文本编辑器的颜色和字体样式:

Tools => Option => Fonts and Colors => Text Editor (ComboBox selection)

这些样式定义了在代码编辑器中显示的文本。

使用 Printer and Cut/Copy 集定义复印和打印样式:

Tools => Option => Fonts and Colors => Printer and Cut/Copy

这同时适用于WinForms和WPF (这些设置是共享的)。

Visual Studio Options personalize font and colors

并非所有样式都包含在粘贴在控件中的RTF文本中。
Item backgroung 设置为 Automatic 以匹配目标Control BackColor设置。

一些样式的周到个性化。该代码粘贴在RichTextBox控件中。
字体在“选项”工具中设置为TimesNew Roman。
(如果您更改样式,则需要再次复制代码以应用新设置)

Visual Studio Options personalize font and colors