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

问题描述 投票:0回答:2

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

vb.net winforms richtextbox
2个回答
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 + Insert组合:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.