0

我在 C# winform 的用户控件中放置了两个文本框。txtFromtxtTo。我想比较两个 textbox.text ,如果txtTo小于txtFrom,则显示错误提供程序。我该怎么办?

4

1 回答 1

2

您不会将某些内容错误提供者进行比较。错误提供程序仅显示控件具有与控件关联的错误。

  • ErrorProvider组件添加到您的表单
  • 比较txtFrom.TexttxtTo.Text(例如在验证事件期间)
  • 如果 text 较少(我不知道 less 对您意味着什么),则调用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控件来避免文本解析内容。

于 2012-11-17T10:41:59.407 回答