Захватите CTRL + V или вставьте в текстовое поле в .NET

VB.NET 2010 - у меня есть RichTextbox, в котором пользователь может вручную вводить данные или копировать / вставлять из другого источника. После того, как данные полны, он нажимает кнопку «Перейти» и выделяется несколько ключевых слов. Моя проблема в том, что если он копирует / вставляет из другого источника, форматирование также копируется. Иногда внешний источник имеет белый шрифт, а у моего текстового поля белый фон, поэтому кажется, что он ничего не вставил и делает это снова и снова.

То, что я ищу, это способ перехватить действие вставки в текстовое поле, чтобы я мог взять этот текст и вставить его как чистый ASCII без форматирования.

Редактировать после экспериментов с KeyDown

Private Sub txtRch_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles txtRch.KeyDown
    If e.Modifiers = Keys.Control AndAlso e.KeyCode = Keys.V Then
        With txtRch
            Dim i As Integer = .SelectionStart          'cache the current position
            .Select(0, i)                               'select text from start to current position
            Dim s As String = .SelectedText             'copy that text to a variable
            .Select(i, .TextLength)                     'now select text from current position to end
            Dim t As String = .SelectedText             'copy that text to a variable
            Dim u As String = s & Clipboard.GetText(TextDataFormat.UnicodeText) & t 'now concatenate the first chunk, the new text, and the last chunk
            .Clear()                                    'clear the textbox
            .Text = u                                   'paste the new text back into textbox
            .SelectionStart = i                         'put cursor back to cached position
        End With

        'the event has been handled manually
        e.Handled = True
    End If
End Sub

Кажется, это работает, и весь мой текст сохраняется, и все его ASCII. Я думаю, что если бы я хотел сделать еще один шаг, я мог бы также взять шрифт и передний цвет моего RichTextbox, выделить весь текст, а затем назначить шрифт и передний цвет для выделения.

Ответы на вопрос(1)

Ваш ответ на вопрос