是否可以在 Winforms Propertgrid 控件中实现输入验证?例如,我如何验证/定义“必填字段”?我可以使用错误提供程序吗?是否可以使用RequiredAttribute(System.ComponentModel.DataAnnotations)?
问问题
3533 次
1 回答
6
注册 OnValueChanged 事件并在那里完成工作!
propertyGrid.PropertyValueChanged+= new PropertyValueChangedEventHandler(propertyGrid_PropertyValueChanged );
private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
{
if (e.ChangedItem.Label == "???" && !IsValid((int)e.ChangedItem.Value) )
{
// the entered value is wrong - show error message
e.ChangedItem.PropertyDescriptor.SetValue( propertyGrid.SelectedObject, e.OldValue);
MessageBox.Show("Wrong Data", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private static bool IsValid( int inputData)
{
// logic here
}
我希望这能帮助你解决问题!
于 2013-10-16T08:55:15.507 回答