初めて Windows フォームで ErrorProvider を使用しています。
デフォルトで空白の選択を含む、いくつかの項目が含まれる単一のコンボボックスを備えた単純なウィンドウがあります。下部に [次へ] ボタンもあります。
フォームを実行し、コンボ ボックスを空白に設定して [次へ] をクリックすると、検証がトリガーされません。何か案は?
ドキュメントで提供されているように、エラープロバイダーを配線しました。
// Favorite Color ComboBox
favoriteColorComboBox = new ComboBox();
favoriteColorComboBox.Items.AddRange(new object[] {"None","Red","Yellow" });
favoriteColorComboBox.Validated += new EventHandler(favoriteColorComboBox_Validated);
favoriteColorErrorProvider = new System.Windows.Forms.ErrorProvider();
favoriteColorErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
_tableLayoutPanel1.Controls.Add(favoriteColorComboBox, 1, 1);
}
void favoriteColorComboBox_Validated(object sender, EventArgs e)
{
if (!IsColorValid())
{
// Set the error if the favorite color is not valid.
favoriteColorErrorProvider.SetError(this.favoriteColorComboBox, "Must select a color.");
}
else
{
// Clear the error, if any, in the error provider.
favoriteColorErrorProvider.SetError(this.favoriteColorComboBox, String.Empty);
}
}
private bool IsColorValid()
{
// Determine whether the favorite color has a valid value.
return ((favoriteColorComboBox.SelectedItem != null) &&
(!favoriteColorComboBox.SelectedItem.ToString().Equals("None")));
}