Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.78/241: Рейтинг темы: голосов - 241, средняя оценка - 4.78
Yekaterin@
1 / 1 / 0
Регистрация: 22.11.2010
Сообщений: 27
1

Как запретить ввод букв в TextBox?

18.05.2012, 19:10. Просмотров 46319. Ответов 47
Метки нет (Все метки)

Как запретить ввод букв в textBox? Вот эта конструкция неверно работает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 public void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            try 
            {
            char s = Convert.ToChar(textBox1.Text);
            if ((s <= '0') || (s >= '9'))
                MessageBox.Show("Вы ввели символ! Пожалуйста,введите цифру");
              }
                catch(System.FormatException)
            {
                MessageBox.Show("Вы ввели символ! Пожалуйста,введите цифрy");
                }
        }
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2012, 19:10
Ответы с готовыми решениями:

Как запретить ввод букв и символов в TextBox?
Как запретить ввод букв и символов в TextBox ? :scratch:

Запретить ввод букв в TextBox
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { ...

Как запретить ввод символа в textbox?
Здравствуйте. Подскажите, пожалуйста, как в событии KeyPress прописать, чтобы...

Как запретить ввод данных в textBox ?
Собственно в заголовке и заключается весь вопрос. Я так понимаю это как то...

Как запретить ввод некоторых символов в TextBox?
По заданию в TextBox можно вводить числа только в двоичной системе счисления,...

47
corbis
541 / 270 / 48
Регистрация: 03.04.2015
Сообщений: 926
13.11.2015, 13:28 41
Даценд прав, однако.
0
_Faradey
3 / 3 / 2
Регистрация: 13.10.2015
Сообщений: 405
13.11.2015, 13:37 42
Цитата Сообщение от Даценд Посмотреть сообщение
C#
1
2
3
4
private void tb_TextChanged(object sender, EventArgs e)
{
    //...
}
Как теперь сюда вставить сей код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string tmp = tb.Text.Trim();
string outS = string.Empty;
bool z_1 = true;
if (tmp.Length > 1 && tmp[0] == '0' && tmp[1] !=',')
tmp = tmp.Substring(1);
foreach (char ch in tmp)
if (Char.IsDigit(ch)||(ch==',' && z_1))
{
outS += ch;
if(ch == ',')
z_1 = false;
}
tb.text = outS;
tb.SelectionStart = outS.Legth;
чтоб работал на всех textbox-ах динамических панелях...
при попытке ввести ссылку на textBox сразу подчеркивает (
0
Даценд
Модератор
Эксперт .NET
4286 / 4017 / 2661
Регистрация: 20.04.2015
Сообщений: 7,304
13.11.2015, 13:46 43
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

_Faradey,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void tb_TextChanged(object sender, EventArgs e)
{
    TextBox tb = (sender as TextBox);
    string tmp = tb.Text.Trim();
    string outS = string.Empty;
    bool z_1 = true;
    if (tmp.Length > 1 && tmp[0] == '0' && tmp[1] !=',')
        tmp = tmp.Substring(1);
    foreach (char ch in tmp)
        if (Char.IsDigit(ch)||(ch==',' && z_1))
        {
            outS += ch;
            if(ch == ',')
            z_1 = false;
        }
    tb.text = outS;
    tb.SelectionStart = outS.Legth;
}
1
_Faradey
3 / 3 / 2
Регистрация: 13.10.2015
Сообщений: 405
13.11.2015, 14:14 44
Цитата Сообщение от Даценд Посмотреть сообщение
TextBox tb = (sender as TextBox);
ОГРОМНОЕ СПАСИБО! Этой строчки как раз не хватало
0
corbis
541 / 270 / 48
Регистрация: 03.04.2015
Сообщений: 926
13.11.2015, 22:45 45
или так:
TextBox tb = e.OriginalSource;
1
ignatevMKSMMK2
0 / 0 / 0
Регистрация: 02.02.2017
Сообщений: 10
31.05.2017, 17:54 46
Цитата Сообщение от kolorotur Посмотреть сообщение
Обработка события KeyPress:
C#Выделить код
1
2
char c = e.KeyChar;
e.Handled = c >= 'а' && c <= 'я' || c >= 'А' && c <= 'Я' || c == 'ё' || c == 'Ё';
можно поподробнее об этом, мне нужно сейчас сделать так чтобы в текстбокс нельзя было вводить русские буквы, но это не работает

Добавлено через 7 минут
Цитата Сообщение от kolorotur Посмотреть сообщение
Обработка события KeyPress:
C#Выделить код
1
2
char c = e.KeyChar;
e.Handled = c >= 'а' && c <= 'я' || c >= 'А' && c <= 'Я' || c == 'ё' || c == 'Ё';
можно поподробнее об этом, мне нужно сейчас сделать так чтобы в текстбокс нельзя было вводить русские буквы, но это не работает
0
Гуванч
0 / 0 / 0
Регистрация: 23.02.2018
Сообщений: 2
22.04.2018, 00:26 47
если так сделать бакспейс не работает) как включить ее?
0
Diamante
1319 / 1035 / 654
Регистрация: 14.08.2016
Сообщений: 3,608
Завершенные тесты: 1
22.04.2018, 01:22 48
весь флуд не читал! чем NumericUpDown не устроил?! делает фсьо искаропки...
звинясь, не поглядел на дату создания топика
0
22.04.2018, 01:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2018, 01:22

Как запретить ввод нуля первым символом в TextBox?
Доброго времени суток, как запретить ввод нуля первым символом в TextBox?

Как запретить ввод определенных символов в несколько TextBox, не программируя каждый по отдельности
Добрый день.. Подскажите пожалуйста, как можно создать, свойство, которые бы...

Запретить ручной ввод в TextBox
Мне нужно сделать так что-бы ввод любого текста или цифр в textBox1 можно было...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru