当前位置: 首页 > 面试题库 >

C#WinForms ErrorProvider控件

公孙新觉
2023-03-14
问题内容

有谁知道是否有一种方法来获取具有ErrorProvider图标处于活动状态的控件的列表。即。验证失败的任何控件。我试图避免循环窗体中的所有控件。

我想显示某种消息,指示表单上有多少错误。由于我的表单包含选项卡,因此我试图使用户知道不活动的选项卡上可能存在错误,因此他们需要检查所有选项卡。

谢谢

巴里


问题答案:

这属于“你怎么 知道”
类别。是您的代码正在调用ErrorProvider.SetError(),您应该可以轻松跟踪仍在活动的错误数量。这是一个小帮手类,使用其SetError()方法更新ErrorProvider。其Count属性返回活动错误的数量:

private class ErrorTracker {
  private HashSet<Control> mErrors = new HashSet<Control>();
  private ErrorProvider mProvider;

  public ErrorTracker(ErrorProvider provider) { 
    mProvider = provider; 
  }
  public void SetError(Control ctl, string text) {
    if (string.IsNullOrEmpty(text)) mErrors.Remove(ctl);
    else if (!mErrors.Contains(ctl)) mErrors.Add(ctl);
    mProvider.SetError(ctl, text);
  }
  public int Count { get { return mErrors.Count; } }
}


 类似资料:
  • 自我介绍 哪儿的人,父母做什么的 毕业设计题目 问项目,重点问了两个项目 期望薪资 反问 只有一面,后续问题与hr沟通 全程30min,面试官很和蔼,体验不错

  • 我是C#新手,我确实知道如何动态添加控件,但我不知道如何将那个控件设置为。请注意,这里的是。 这可以通过静态地完成,但如何从方法中完成这一操作,以便以后可以声明? 请注意,类似于;

  • 问题内容: 我可以将Java控件(SWT,Swing等)放在C#控件上吗? 我知道Web控件是可能的,但我不喜欢这种方式。 问题答案: 我重新检查了一下,看来IKVM当前在其AFT组件中没有足够的支持。我认为,执行所需操作的唯一方法是在具有隐藏主窗口的单独进程中运行java控件,并以某种方式将该控件的句柄传递给C#应用程序。 原始答案: 我不确定是否可以“添加”它,但是可以尝试以下方法: 有必要通

  • 本文向大家介绍使用C#开发ActiveX控件,包括了使用C#开发ActiveX控件的使用技巧和注意事项,需要的朋友参考一下 最近弄了一个在Qt中使用C#控件的功能,使用的方法是通过C#生产ActiveX控件,在Qt中使用该ActiveX控件。本文这里简单的介绍一下如何用C#生成ActiveX控件。 1. 建立WinForm的UserControl工程,在控件的属性页中选择"使程序集com可见" 分

  • 本文向大家介绍C#使用Aspose.Cells控件读取Excel,包括了C#使用Aspose.Cells控件读取Excel的使用技巧和注意事项,需要的朋友参考一下 Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入、导出数据非常方便。其中Aspose.Cells就是用来操作Excel的,功能有很多。我所用的是最基本的功能,读取Excel的数据并导入到D

  • 本文向大家介绍C# CheckedListBox控件的用法总结,包括了C# CheckedListBox控件的用法总结的使用技巧和注意事项,需要的朋友参考一下 一般认为:foreach (object obj in checkedListBox1.SelectedItems)即可遍历选中的值。 其实这里遍历的只是高亮的值并不是打勾的值。遍历打勾的值要用下面的代码: 最近用到checklistbox