Не уверен, что при использовании события KeyPress портится обычный процесс переопределения или что-то конкретное проверяется в KeyPress, но это не совсем так, как должно вести себя обычное текстовое поле Windows, в том случае, когда вы начинаете печатать элемент управления с выделенным текстом, выбор должен быть удален, позволяя вам печатать в этом пустом пространстве. Однажды, увидев утверждение If, я понял, что искомое поведение было достигнуто следующим образом:
If tb.SelectionStart < tb.TextLength AndAlso Not [Char].IsControl(e.KeyChar) Then
tb.SelectedText = ""
End If
не уверен, почему вы хотите сохранить выделение, но предыдущий код идеален, если это то, что вам нужно
Sal