Как запретить ввод символов символов с клавиатуры в textBox?
НО, хоть сколько я буду рассматривать я не знаю как реализовать ни то, ни это. Прошу помочь.
Отслеживать
задан 17 ноя 2017 в 21:22
557 2 2 золотых знака 4 4 серебряных знака 27 27 бронзовых знаков
Вы вопрос уже закрыли. Но я вам малось намекну. У текстбокса есть события, разные, но вам нужно событие клавиатурное. На это событие нужно подписаться и, в методе обрабатывающем это событие, проверять символы; если цифра пропускать, а если буква, то блокировать. Попробуйте реализовать это самостоятельно.
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode
Ввод в TextBox только цифр и необходимых символов C#
Здравствуйте, очень часто начинающие программисты задают вопрос, как вводить в TextBox только цифры или другие необходимые им символы, игнорируя все остальные. В этой статье мы рассмотрим несколько самых простых и полезных способ решения этой проблемы.
Для этого мы создадим тестовый проект для наглядного примера с одним лишь текстбоксом, у нас он вот такой:

Перво-наперво нам необходимо найти событие, благодаря которому сможем отследить нажатие определенных клавиш. Таким событием является KeyPress. Оно будет происходить всегда, когда пользователь нажимает на любую кнопку на клавиатуре. Чтобы перейти к нему, надо для начала выделить TextBox, один раз щёлкнув на него левой кнопкой мыши.

Затем следует найти в правой стороне рабочей области Visual Studio окно «Свойства» и перейти в нём на вкладку событий (значок в виде молнии):

Примечание: если вы не нашли «Свойства», то просто кликните правой кнопкой мыши по текстбоксу и выберете в появившемся меню соответствующую вкладку.
Далее мы ищем событие KeyPress и дважды нажимаем на него левой кнопкой мыши. Нас перенесет к коду этого события. Далее мы рассмотрим несколько вариантов решения проблемы с вводом определенных символов в TextBox. Сначала будут идти варианты только с выводом цифр, а затем и другие (с Backspace, пробелом, запятой и проч.)
Использование в TextBox только цифр.
Способ первый — самый быстрый.
Внутри этой области кода мы запишем всего несколько строк:
Включение и блокировка текстового поля из пользовательской записи
В следующем примере показано, как свойства Enabled и Locked дополняют друг друга. В этом примере каждое свойство представлено независимо друг от друга с элементом CheckBox, чтобы можно было просматривать объединенные параметры и по отдельности. В этом примере также содержится второй элемент TextBox , который позволяет копировать и вставлять сведения между элементами управления TextBox и проверять действия, поддерживаемые параметрами этих свойств.
Примечание Выделенный фрагмент можно скопировать в буфер обмена с помощью клавиш CTRL+C и вставить с помощью клавиш CTRL+V.
Чтобы использовать этот пример, скопируйте пример кода в редактор скриптов формы. Убедитесь, что эта форма содержит:
- Элемент TextBox с именем TextBox1.
- Два элемента управления CheckBox с именами CheckBox1 и CheckBox2.
- Второй элемент TextBox с именем TextBox2.
Dim TextBox1 Dim TextBox2 Dim CheckBox1 Dim CheckBox2 Sub CheckBox1_Click() TextBox2.Text = "TextBox2" TextBox1.Enabled = CheckBox1.Value End Sub Sub CheckBox2_Click() TextBox2.Text = "TextBox2" TextBox1.Locked = CheckBox2.Value End Sub Sub Item_Open() Set TextBox1 = Item.GetInspector.ModifiedFormPages.Item("P.2").Controls("TextBox1") Set TextBox2 = Item.GetInspector.ModifiedFormPages.Item("P.2").Controls("TextBox2") Set CheckBox1 = Item.GetInspector.ModifiedFormPages.Item("P.2").Controls("CheckBox1") Set CheckBox2 = Item.GetInspector.ModifiedFormPages.Item("P.2").Controls("CheckBox2") TextBox1.Text = "TextBox1" TextBox1.Enabled = True TextBox1.Locked = False CheckBox1.Caption = "Enabled" CheckBox1.Value = True CheckBox2.Caption = "Locked" CheckBox2.Value = False TextBox2.Text = "TextBox2" End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Как запретить ввод цифр или букв в textBox C#
Всем привет! Сегодня я покажу один из вариантов того, как можно реализовать запрет на ввод информации.
Думаю многие из вас сталкивались с тем что в программах невозможен ввод в поле имени, часть символов состоящих из цифры, Такое встречается только в играх, но в реальности то мы знаем, что такого быть не должно. А само имя или фамилия должно исключительно состоять только из букв.
В примере ниже рассмотрим запрет ввода цифр в текстбокс и запретим пользователю ввод прописных букв. Пример очень простой и занимает всего пару строк кода.
private void txt_PreviewTextInput ( object sender , TextCompositionEventArgs e )
if ( int . TryParse ( e . Text , out int i ) )
e . Handled = true ;
if ( e . Text == e . Text . ToLower ( ) )
e . Handled = true ;
Как видим из кода у нас имеется TextBox с именем txt, у которого имеется событие PreviewTextInput. Внутри этого события, используем условии на проверку, введенный пользователем символ приводим к целочисленному типу, если это число то событие завершается, а символ не печатается в TextBox. Во втором условии, происходит проверка символа, в сравнении с нижним регистром этого же символа, если они равны, это будет означать, что пользователь ввел символ в нижнем регистре.
Следующий пример более сложный но более верный, так как он пропускает ввод запятой при чем одной и она не должна быть первой, и не встречаться в середине числа не сколько раз, да бы мы могли полученное число привести к вещественному типу. Для этого нам необходимо подписаться на события TextBox KeyPress и TextChanged
Как запретить ввод символов символов с клавиатуры в textBox?
НО, хоть сколько я буду рассматривать я не знаю как реализовать ни то, ни это. Прошу помочь.
Отслеживать
задан 17 ноя 2017 в 21:22
557 2 2 золотых знака 4 4 серебряных знака 27 27 бронзовых знаков
Вы вопрос уже закрыли. Но я вам малось намекну. У текстбокса есть события, разные, но вам нужно событие клавиатурное. На это событие нужно подписаться и, в методе обрабатывающем это событие, проверять символы; если цифра пропускать, а если буква, то блокировать. Попробуйте реализовать это самостоятельно.
Как запретить ввод цифр или букв в textBox C#
Всем привет! Сегодня я покажу один из вариантов того, как можно реализовать запрет на ввод информации.
Думаю многие из вас сталкивались с тем что в программах невозможен ввод в поле имени, часть символов состоящих из цифры, Такое встречается только в играх, но в реальности то мы знаем, что такого быть не должно. А само имя или фамилия должно исключительно состоять только из букв.
В примере ниже рассмотрим запрет ввода цифр в текстбокс и запретим пользователю ввод прописных букв. Пример очень простой и занимает всего пару строк кода.
private void txt_PreviewTextInput ( object sender , TextCompositionEventArgs e )
if ( int . TryParse ( e . Text , out int i ) )
e . Handled = true ;
if ( e . Text == e . Text . ToLower ( ) )
e . Handled = true ;
Как видим из кода у нас имеется TextBox с именем txt, у которого имеется событие PreviewTextInput. Внутри этого события, используем условии на проверку, введенный пользователем символ приводим к целочисленному типу, если это число то событие завершается, а символ не печатается в TextBox. Во втором условии, происходит проверка символа, в сравнении с нижним регистром этого же символа, если они равны, это будет означать, что пользователь ввел символ в нижнем регистре.
Следующий пример более сложный но более верный, так как он пропускает ввод запятой при чем одной и она не должна быть первой, и не встречаться в середине числа не сколько раз, да бы мы могли полученное число привести к вещественному типу. Для этого нам необходимо подписаться на события TextBox KeyPress и TextChanged
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode
Ввод в TextBox только цифр и необходимых символов C#
Здравствуйте, очень часто начинающие программисты задают вопрос, как вводить в TextBox только цифры или другие необходимые им символы, игнорируя все остальные. В этой статье мы рассмотрим несколько самых простых и полезных способ решения этой проблемы.
Для этого мы создадим тестовый проект для наглядного примера с одним лишь текстбоксом, у нас он вот такой:

Перво-наперво нам необходимо найти событие, благодаря которому сможем отследить нажатие определенных клавиш. Таким событием является KeyPress. Оно будет происходить всегда, когда пользователь нажимает на любую кнопку на клавиатуре. Чтобы перейти к нему, надо для начала выделить TextBox, один раз щёлкнув на него левой кнопкой мыши.

Затем следует найти в правой стороне рабочей области Visual Studio окно «Свойства» и перейти в нём на вкладку событий (значок в виде молнии):

Примечание: если вы не нашли «Свойства», то просто кликните правой кнопкой мыши по текстбоксу и выберете в появившемся меню соответствующую вкладку.
Далее мы ищем событие KeyPress и дважды нажимаем на него левой кнопкой мыши. Нас перенесет к коду этого события. Далее мы рассмотрим несколько вариантов решения проблемы с вводом определенных символов в TextBox. Сначала будут идти варианты только с выводом цифр, а затем и другие (с Backspace, пробелом, запятой и проч.)
Использование в TextBox только цифр.
Способ первый — самый быстрый.
Внутри этой области кода мы запишем всего несколько строк:
Замена и запрет символов в TextBox?
Есть текстбокс, в который я могу ввести только цифры и запятую. Т.к. запятая нужна в качестве разделителя — она может писаться только раз.
Соответственно, если вводится точка — ее надо заменить на запятую. Получился такой код:
private: System::Void aPredelText_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) < if ((e->KeyChar >= '0')&&(e->KeyChar if (e->KeyChar == '.') < e->KeyChar = ','; > if (e->KeyChar == ',') < if (aPredelText->Text->IndexOf(',') != -1) < e->Handled = true; > return; > if (Char::IsControl(e->KeyChar)) < if (e->KeyChar == (char) Keys::Enter) otvetButton->Focus(); return; > e->Handled = true; >
Компиляция проходит без ошибок, но в итоге ничего не меняется, все так же можно вводить любые символы и точка не меняется. Как можно решить эту проблему?
- Вопрос задан более трёх лет назад
- 8108 просмотров
Комментировать
Решения вопроса 1

Алексей Немиро @AlekseyNemiro
full-stack developer
private: System::Void aPredelText_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) < // точка или запятая if(e->KeyChar == '.' || e->KeyChar == ',') < // жесткая запятая e->KeyChar = ','; // может уже имеем один разделитель if (aPredelText->Text->IndexOf(',') != -1) < e->Handled = true; return; > > // не управляющая клавиша, не число и не разделитель if(!Char::IsControl(e->KeyChar) && !Char::IsDigit(e->KeyChar) && e->KeyChar != ',') < e->Handled = true; return; > >
Ответ написан более трёх лет назад
Нравится 1 3 комментария