Как сравнить два textbox.text больше, чем другие textbox.text с ошибкой поставщика?
Я поместил два текстовых поля в пользовательский элемент управления в C# winform.txtFrom
а также txtTo
, Я хочу сравнить два textbox.text и, если txtTo
меньше чем txtFrom
, ошибка провайдера показывается. Как мне это сделать?
1 ответ
Решение
Вы не сравниваете что-то с поставщиком ошибок. Поставщик ошибок только показывает, что элемент управления имеет ошибку, связанную с элементом управления.
- Добавьте компонент ErrorProvider в вашу форму
- сравнить
txtFrom.Text
а такжеtxtTo.Text
(например, во время валидации) - Если текст меньше (я не знаю, что значит для вас меньше), тогда звоните
errorProvider1.SetError(txtTo, "Text is less than txtFrom")
иначе позвониerrorProvider1.SetError(txtTo, "")
Как сделать сравнение:
errorProvider1.SetError(txtFrom, "");
errorProvider1.SetError(txtTo, "");
int fromValue;
int toValue;
if (!Int32.TryParse(txtFrom.Text, out fromValue)
{
errorProvider1.SetError(txtFrom, "Integer number required");
return;
}
if (!Int32.TryParse(txtTo.Text, out toValue)
{
errorProvider1.SetError(txtTo, "Integer number required");
return;
}
if (toValue < fromValue)
{
errorProvider1.SetError(txtTo, "To is less than From");
return;
}
Рассмотрите также использование NumericUpDown
контроль, чтобы избежать разбора текста вещи.