0

C#winformのユーザーコントロールに2つのテキストボックスを配置しました。txtFromおよびtxtTo。2つのtextbox.textを比較したいのですが、txtTo未満の場合はtxtFromエラープロバイダーが表示されます。私はどのように行いますか?

4

1 に答える 1

2

エラープロバイダーと何か比較することはありません。エラープロバイダーは、コントロールにコントロールに関連するエラーがあることを示すだけです。

  • 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テキストの解析を避けるために、コントロールの使用も検討してください。

于 2012-11-17T10:41:59.407 に答える