#vb.net #winforms #richtextbox
#vb.net #winforms #richtextbox
Вопрос:
Например, когда я копирую три строки кода (из VS) и вставляю их непосредственно в свой RichTextBox, шрифт / размер / цвет будут деформированы (например, цвет «End sub» станет синим). Есть ли какой-нибудь способ отключить это свойство?
Комментарии:
1. WinForms или WPF?
Ответ №1:
Предполагая, что это 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
Ответ №2:
Цвета и стили шрифтов текстового редактора можно настроить с помощью инструмента Параметры:
Tools => Option => Fonts and Colors => Text Editor (ComboBox selection)
Этот стиль определяет текст, представленный в редакторе кода.
Стили копирования и печати определяются с помощью Printer and Cut/Copy
набора:
Tools => Option => Fonts and Colors => Printer and Cut/Copy
Это относится как к WinForms, так и к WPF (эти настройки являются общими).
Не все стили включены в текст RTF, вставленный в элемент управления.
Установите значение Item backgroung
Automatic
в соответствии с настройкой обратного цвета целевого элемента управления.
Продуманная персонализация некоторых стилей. Код вставляется в элемент управления RichTextBox.
В инструменте параметров установлен шрифт TimesNew Roman.
(Вам нужно снова скопировать код, если вы измените стили, чтобы применить новые настройки)
Комментарии:
1. Я думаю, что OP использовал копирование текста из VS только в качестве примера. Форматированный текст может поступать из любого другого места.
2. @Ahmed Abdelhameed Ну, может быть. Операционная система написала (…), когда я копирую три строки кода (…) , и цвет «End sub» станет синим . Это кажется довольно специфичным. В конечном итоге OP сообщит нам, каковы фактические намерения.
3. Спасибо за ваши усилия, но синтаксис VS был всего лишь примером (как указано в начале моего вопроса), для лучшего понимания взгляните на эту ссылку , а затем на эту ссылку . (первый вставляется после вставки его в другое место, а второй вставляется непосредственно в rtb) Это будет решено, только если я скопирую код и вставлю его в другое место.
4. Вы хотите скопировать / вставить код из Visual Studio или нет? Любой общий источник? Вы должны быть явными, когда описываете, что вы ищете. Конечно, если вы скопируете код из VS и вставьте его, скажем, в Блокнот, а затем скопируйте / вставьте его обратно, все настройки цвета будут потеряны. Что вы на самом деле пытаетесь сделать? Если вы хотите скопировать / вставить код из VS и использовать один цвет, установите для всех параметров цвета один и тот же цвет. Это одна из возможностей. Или скопируйте обратно обычный текст, — то, что показывает Ахмед Абдельхамид.
5. Вы хотите сохранить , хотите потерять или хотите настроить параметры цвета / шрифта, которые прилагаются к тексту?