Как сравнить два 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 контроль, чтобы избежать разбора текста вещи.

Другие вопросы по тегам