CodeMine Ответов: 2

Не допускайте двух пробелов между словами в тексте. VB.NET


Я пытаюсь ввести предложение в текстовое поле в vb.net-да. во время набора текста, если я ставлю несколько пробелов между словами, он принимает. как я могу ограничить несколько пробелов между словами в vb.net-что?

Что я уже пробовал:

Private Sub TextBox1_KeyDown(бывал отправитель как система.Объект, бывал е как система.Окна.Формы.KeyEventArgs) Обрабатывает TextBox1.KeyDown
Если (электронная.Код = Клавиши.Космос) И ((e.KeyCode + 1) < & gt; ключи.Космос) Затем
e.Suppressskeypress = True
Еще

Конец, Если
Конец Подводной Лодки

2 Ответов

Рейтинг:
4

CodeMine

Public Class Form1
    Dim pk As Integer
    Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.Space And e.KeyCode = pk Then
            e.SuppressKeyPress = True
        End If
    End Sub
    Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        pk = e.KeyCode
    End Sub
End Class


Рейтинг:
18

Dave Kreskowiak

С какой стати вы проверяете (например, код ключа + 1)?

Для этого вы должны следить за последней нажатой клавишей. Затем в событии KeyDown вы проверяете, является ли последняя нажатая клавиша пробелом, а текущая-пробелом. Если они оба истинны, то вы устанавливаете свойства e.Handled и e.Suppressskeypress равными true.

Теперь, если текущая нажатая клавиша не является пробелом, поместите эту клавишу в переменную отслеживания.


CodeMine

спасибо Вам за ваше решение
вот код, который я сделал

Общественного Класса Form1
Dim pk как целое число
Private Sub TextBox1_KeyDown(бывал отправитель как система.Объект, бывал е как система.Окна.Формы.KeyEventArgs) Обрабатывает TextBox1.KeyDown
Если e.KeyCode = ключи.Пространство и электронной.Ключ = ПК тогда
e.Suppressskeypress = True
Конец, Если
Конец Подводной Лодки
Частная суб TextBox1_KeyUp(как byval отправителя как объект, как byval E Как системы.Окна.Формы.KeyEventArgs) Обрабатывает TextBox1.KeyUp
ПК = е.Код
Конец Подводной Лодки
End Класса