Как запретить ввод символов в textbox c
Перейти к содержимому

Как запретить ввод символов в textbox c

  • автор:

Как запретить ввод символов символов с клавиатуры в textBox?

НО, хоть сколько я буду рассматривать я не знаю как реализовать ни то, ни это. Прошу помочь.

Отслеживать

задан 17 ноя 2017 в 21:22

557 2 2 золотых знака 4 4 серебряных знака 27 27 бронзовых знаков

Вы вопрос уже закрыли. Но я вам малось намекну. У текстбокса есть события, разные, но вам нужно событие клавиатурное. На это событие нужно подписаться и, в методе обрабатывающем это событие, проверять символы; если цифра пропускать, а если буква, то блокировать. Попробуйте реализовать это самостоятельно.

Запрет ввода русских символов

Для того чтобы запретить ввод каких-либо символов сделайте фильтрацию ввода при обработке события PreviewTextInput .

Ниже приведён пример того как с помощью данного события можно разрешить ввод в textBox только для цифр.

private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)

Для того чтобы его доработать под Вашу задачу достаточно добавить проверку, является ли вводимый символ латинским. Пример такой проверки можно посмотреть в этом вопросе: «Определить, является ли символ в строке латинским».

Отслеживать
ответ дан 7 фев 2016 в 23:44
11.7k 9 9 золотых знаков 28 28 серебряных знаков 40 40 бронзовых знаков
через CTRL+V можно вставить что угодно, как это можно обойти не запрещая комбинации клавиш?
8 фев 2016 в 23:07

Возможно это не ререшение, но как способ, то при выполнении эвента textChanged , или того, что ты задашь, который вызывается при введении текста, то при вводе символа, берешь весь string , выбераешь последний символ и смотришь, есть ли он в диапазоне

if(ch ='а' || ch>='A' && ch<='Я') textBox.Text.Remove(textBox.Text.Lenght-1); 

Как-то так, только, возможно, я с методами ошибся, так что исправь.

Возможной проблемой этого может стать то, что при вводе кириллицы, она появиться в textBox , но после этого сразу же пропадет. В крайнем случае при коммите действия связаного с textBox , ты можешь создать StringBuilder , пройтись по символах, ну и если есть хоть один, то выдавать MessageBox с ошибкой.

Winforms запретить ввод символов в textbox

Подскажите, пожалуйста, есть ли какое нибудь свойство у textbox, которое бы запрещала пользователю вводить буквы туда, т.е. что бы можно было только цифры вводить туда(в том числе и с запятой)? Или может есть не свойство, а специальный элемент для этой цели?

Отслеживать
задан 18 янв 2014 в 6:05
855 3 3 золотых знака 26 26 серебряных знаков 49 49 бронзовых знаков

А если обработать событие по нажатию на кнопки и вместо некорректных символов просто ничего не вводить , точнее "/0" ?

18 янв 2014 в 7:02

Почитай книжку Visual C# - задачах и примерах. Н.Культин. У него вначале книге, есть хорошие примеры по поводу запрещения букв и лишних запятых. Для Winforms. Код хороший.

Запрет ввода русских символов

Для того чтобы запретить ввод каких-либо символов сделайте фильтрацию ввода при обработке события PreviewTextInput .

Ниже приведён пример того как с помощью данного события можно разрешить ввод в textBox только для цифр.

private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)

Для того чтобы его доработать под Вашу задачу достаточно добавить проверку, является ли вводимый символ латинским. Пример такой проверки можно посмотреть в этом вопросе: "Определить, является ли символ в строке латинским".

Отслеживать
ответ дан 7 фев 2016 в 23:44
11.7k 9 9 золотых знаков 28 28 серебряных знаков 40 40 бронзовых знаков
через CTRL+V можно вставить что угодно, как это можно обойти не запрещая комбинации клавиш?
8 фев 2016 в 23:07

Возможно это не ререшение, но как способ, то при выполнении эвента textChanged , или того, что ты задашь, который вызывается при введении текста, то при вводе символа, берешь весь string , выбераешь последний символ и смотришь, есть ли он в диапазоне

if(ch ='а' || ch>='A' && ch<='Я') textBox.Text.Remove(textBox.Text.Lenght-1); 

Как-то так, только, возможно, я с методами ошибся, так что исправь.

Возможной проблемой этого может стать то, что при вводе кириллицы, она появиться в textBox , но после этого сразу же пропадет. В крайнем случае при коммите действия связаного с textBox , ты можешь создать StringBuilder , пройтись по символах, ну и если есть хоть один, то выдавать MessageBox с ошибкой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *