我有一个Windows窗体,当我点击提交时,它将使用Error Provider类在所有无效字段旁边显示一个小红色错误图标,并将错误消息显示为工具提示。
是否可以轻松地将错误提供程序的所有错误消息显示在表单顶部的摘要框或条带中?
我知道如何在ASP.NEt中执行此操作但不熟悉Windows窗体
答案 0 :(得分:1)
没有自动为您执行此操作的控件。您必须手动跟踪何时检测到或已解决错误。一旦有了错误列表,就可以轻松地将它们显示给列表中的用户。
我刚才问过这个question。 Hans Passant提供了一个小助手类,您可以使用并轻松修改。
答案 1 :(得分:1)
这两种方法会为您收集所有错误,从表单或用户控件递归,List将填充所有错误字符串
private void geterrors(Form f, List<string> errors)
{
foreach (Control c in f.Controls)
{
geterrors(c, errors);
}
}
private void geterrors(Control c, List<string> errors)
{
if (errorProvider1.GetError(c).Length > 0)
{
errors.Add(errorProvider1.GetError(c));
if (c.HasChildren)
{
geterrors(c, errors);
}
}
}