Лучший отвечающий
Проверка введенных значений в textbox

Вопрос
-
Всем доброго времени суток! Подскажите, пожалуйста, как реализовать проверку вводимых значений в textbox? Допустим, есть следующий код:
int tax, minute, rez;
//конвертируем строки в целые числа
tax = Convert.ToInt32(taxbox.Text);
minute = Convert.ToInt32(minutebox.Text);//Считаем по формуле
rez = tax * minute / 60;//Конвертируем из целого числа в строковое представление, а результат вставляем в label(summ)
this.summ.Text = rez.ToString();
На данной форме, перед осуществлением рассчетов и после ввода данных, предпологается произвести проверку на (1) пустое поле и (2) только целые числа. Проблема вся в том, что никак не могу организовать цикл так, чтобы рассчеты производились уже после проверки, форма просто зависала при пустых значениях textbox'a, пытаясь выполнить преобразование. Заранее благодарен за помощь!
P.S. Только сейчас увидел раздел learning. Просьба перенести вопрос туда.- Изменено I.Vorontsov 10 ноября 2009 г. 8:11 Форматирование кода
- Перемещено I.Vorontsov 10 ноября 2009 г. 11:36 Более соответствующая тематика (От:Visual C#)
- Перемещено SachinW 1 октября 2010 г. 22:01 MSDN Forums Consolidation (От:Начинающие разработчики)
10 ноября 2009 г. 7:11
Ответы
-
Можно и таким образом:
if (textBox1.Text == String.Empty)//Проверка на пустоту текстбокса
MessageBox.Show("Empty");
Добавить в обработчик события ввода(Кроме цифр ввести с клавиатуры ничего не получится):
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar))
e.Handled = true;
}- Предложено в качестве ответа I.Vorontsov 10 ноября 2009 г. 8:08
- Помечено в качестве ответа DronOVER 10 ноября 2009 г. 8:11
10 ноября 2009 г. 8:07 -
private void button1_Click(object sender, EventArgs e) { int result; if (String.IsNullOrEmpty(textBox1.Text) || !Int32.TryParse(textBox1.Text, out result)) { return; } MessageBox.Show(result.ToString()); }
- Помечено в качестве ответа DronOVER 10 ноября 2009 г. 8:05
10 ноября 2009 г. 8:04 -
Если попытка преобразования строки в целое удачна, то в нем возвращается число, иначе в нём будет 0. Функция возвращает true или false в зависимости от успеха или неудачи преобразования.
- Помечено в качестве ответа DronOVER 10 ноября 2009 г. 8:35
10 ноября 2009 г. 8:25
Все ответы
-
private void button1_Click(object sender, EventArgs e) { int result; if (String.IsNullOrEmpty(textBox1.Text) || !Int32.TryParse(textBox1.Text, out result)) { return; } MessageBox.Show(result.ToString()); }
- Помечено в качестве ответа DronOVER 10 ноября 2009 г. 8:05
10 ноября 2009 г. 8:04 -
Можно и таким образом:
if (textBox1.Text == String.Empty)//Проверка на пустоту текстбокса
MessageBox.Show("Empty");
Добавить в обработчик события ввода(Кроме цифр ввести с клавиатуры ничего не получится):
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar))
e.Handled = true;
}- Предложено в качестве ответа I.Vorontsov 10 ноября 2009 г. 8:08
- Помечено в качестве ответа DronOVER 10 ноября 2009 г. 8:11
10 ноября 2009 г. 8:07 -
Спасибо ОГРОМНОЕ!!!! Получается, только вот эту штуковину "String.Empty" и искал. Проверял на нулевую длину строки, заводил ненужные переменные и прочее...
А что бы не зависало, спасло:
if (operator)
{
return;
}
Всем большое спасибо за участие!!!
P.S. Впреть буду задавать подобные вопросы в разделе learning!!!! СПАСИБО!!!!!
P.S. на засыпку: а вот это
(!Int32.TryParse(textBox1.Text, out result))
надо понимать, какой-то параметр. За что он отвечает?10 ноября 2009 г. 8:17 -
Если попытка преобразования строки в целое удачна, то в нем возвращается число, иначе в нём будет 0. Функция возвращает true или false в зависимости от успеха или неудачи преобразования.
- Помечено в качестве ответа DronOVER 10 ноября 2009 г. 8:35
10 ноября 2009 г. 8:25