Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/64: Рейтинг темы: голосов - 64, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 11.11.2015
Сообщений: 8
1

Запретить нажатие на Button при пустом TextBox'е

30.03.2016, 13:52. Показов 11937. Ответов 6
Метки нет (Все метки)

Как сделать так, чтобы когда textbox пустой, на кнопку нельзя было нажать.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2016, 13:52
Ответы с готовыми решениями:

Запретить нажатие на кнопку при пустом поле ввода
как написать пока едит1 пуст на кнопку (bitbtn) нельзя нажать?

Нажатие Enter при пустом поле ввода
Добрый день. Нужно написать программу, содержащую проверку, в которой бы при вводе переменной типа...

Нажатие button при заполненом textbox-е
Здраствуйте, как можно сделать нажатие button неактивным пока не заполнен textbox.

Смена Caption при нажатие Button?
Здравствуйте ! Имеется - Panel1 и Button1 Нужно чтобы при нажатие Button1(скрыть) - Panel1...

6
95 / 87 / 61
Регистрация: 21.04.2014
Сообщений: 1,240
30.03.2016, 14:01 2
MaiklGureev, у текстБокса есть событие TextChanged, которое срабатывает когда в текстБоксе меняется текст. используйте его.
C#
1
2
3
4
5
6
7
private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox1.Text.Length == 0)
                button1.Enabled = false;
            else
                button1.Enabled = true;
        }
1
887 / 796 / 326
Регистрация: 03.02.2015
Сообщений: 5,116
Записей в блоге: 9
30.03.2016, 16:42 3
Лучший ответ Сообщение было отмечено MaiklGureev как решение

Решение

Я бы просто в обработчике нажатия кнопки (БутонКлик) написал:

C#
1
2
if (textBox1.Text == string.Empty)
   return;
1
81 / 81 / 51
Регистрация: 25.02.2016
Сообщений: 243
30.03.2016, 17:02 4
По моему вариант с Enable = false намного понятнее и наглядней для пользователя. Я бы просто записал его короче:
C#
1
2
3
4
private void textBox1_TextChanged(object sender, EventArgs e)
        {
            button1.Enabled = textBox1.Text.Length != 0;
        }
1
887 / 796 / 326
Регистрация: 03.02.2015
Сообщений: 5,116
Записей в блоге: 9
30.03.2016, 17:22 5
Лучший ответ Сообщение было отмечено MaiklGureev как решение

Решение

orlov87,
Ну хз при каждом вызове textBox1_TextChanged делать проверку и присвоение button1.Enabled, по моему это не совсем верно. Плюс ко всему вот эта штука получает размер textBox1.Text.Lengt... ну хз.

То же что предложил я (к стати в серьёзных проектах в основном так и проверяю, если нужно только одно условие по которому ничего на происходит), дергается только непосредственно в момент нажатия кнопки, что опять же позволит ну например информировать пользователя почему ничего не происходит при клике (ведь он же может и не знать логики работы приложения).

C#
1
2
3
4
5
6
7
8
9
        private void button1_Click(object sender, EventArgs e)
        {
           if (textBox1.Text == string.Empty)
           {
                MessageBox.Show("Введите значение в поле !");
                return
           }
            
         }
2
81 / 81 / 51
Регистрация: 25.02.2016
Сообщений: 243
30.03.2016, 17:44 6
Не спорю кому как больше нравится, да и плюс все зависит от ситуации. С меседжом вообще отличный вариант, но возни немного больше.
0
0 / 0 / 0
Регистрация: 11.11.2015
Сообщений: 8
31.03.2016, 21:47  [ТС] 7
Спасибо большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2016, 21:47

Получить значение из Edit при нажатие на button
Добрый день , в программирование winapi я новичек. Вопрос такой как получить значение из Edit при...

Последовательное создание Edit при нажатие на button
Помогите достроить программу для перехода на следующий Edit без продолжение копии. Я хочу что при...

При нажатие Button в поле Edit выводить число
Не могу придумать алгоритм как сделать чтоб при нажатии на кнопку в поле едит (уже выведенному в...

Запретить нажатие кнопок при скролле VerticalScrollBox
Здравствуйте, на форме имеется VerticalScrollBox и 47 кнопок на нем, как мне сделать, чтобы при...


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

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

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