Sj0*_*3rs 4 c# validation errorprovider
我正在为我的项目制作一些验证功能,但我仍然坚持不懈.我想要一个函数来处理几个不同的控件和错误.
这是我的代码:
private void ValidateControls(Control c)
{
if (c is TextBox)
{
if (c.Text == "")
{
epNew.SetError(c, "Something");
}
}
else if (c is ComboBox)
{
// What now?
// if (c.SelectedItem == null) does not work
}
}
Run Code Online (Sandbox Code Playgroud)
而我这样称呼它:
private void txtNEAN_Validating(object sender, CancelEventArgs e)
{
ValidateControls(txtNEAN);
}
Run Code Online (Sandbox Code Playgroud)
这适用于文本框.但如果我这样做:
private void cbbEMerk_Validating(object sender, CancelEventArgs e)
{
ValidateControls(cbbEMerk);
}
Run Code Online (Sandbox Code Playgroud)
if (c.SelectedItem == null)例如不起作用.
我怎样才能做到这一点?这可以使用吗?如果没有,什么是更好的选择?
我很乐意听到任何消息!
在这种情况下你必须转换c为aComboBox
else if (c is ComboBox)
{
if (((ComboBox)c).SelectedItem == null)
}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,_Validating如果他们做同样的事情,不要为每个控件创建一个方法.你可以使用一个,或一个txtBox_Validating用于TextBoxes,一个comboBox_Validating用于组合框等.