0
私はこのエラー・コードをerrorproviderに持っています。しかし、有効な入力が与えられたときはいつでもその値はクリアされません。ユーザー入力が有効なときにエラー・プロバイダ・メッセージをクリアする際にエラーが発生しました
public void NotEmpty(Control c)
{
ErrorProvider err = new ErrorProvider();
if (c.Text != String.Empty)
{
err.Clear();
//err.SetError(c, "");
}
else if(c.Text == String.Empty) err.SetError(c, "Field cannot be empty");
}
private void btnNext_Click(object sender, EventArgs e)
{
NotEmpty(tbName);
}
ここで確認したリンクがいくつかありますが、それは私の場合は効果がありませんでした。
https://stackoverflow.com/questions/3858888/problem-with-errorprovider-clear
フィールドが最初に満たされている場合は、エラーメッセージをもたらすことはありませんが、その(フィールド)をクリアし、再び満たされた場合、それはしませんクリアエラーメッセージ。
おそらく新しいerrorproviderを作成していて、古いものがまだ周囲に潜んでいます。あなたは古いものではなく新しいものをクリアしています – BugFinder
これは完全に@BugFinderで動作しました。クラスそのものにerrorproviderをインスタンス化します。 – Kinyo356