c# - 对 Windows 窗体上的字段执行数据验证的最简单方法

标签 c# .net winforms validation .net-3.5

我有一个 Windows 窗体项目,我想强制用户在按下底部的计算按钮之前在某些字段中输入值。这些字段包括三对单选按钮、五个文本框和一个组合框。所以基本上所有这些字段都需要包含一个值才能执行计算。此外,文本框 应包含数字 - 任何 double 值。此外,我想为这些文本框中的大多数设置一个用户不能超过的最大值值集。请让我知道实现此目标的最简单方法是什么。我没有看到像 ASP.Net 中可用的 winform 项目的字段验证控件。请注意,我正在使用 .net 3.5。目前,我正在使用消息框将此信息传达给用户,即每当用户按下计算时,我都会显示消息框,提及目前为空的必填字段的名称。

最佳答案

我遇到了和你一样的情况,我找到了一个简单的解决方案,或者你可以说这个简单的解决方案适用于 WinForms。 WinForms 包含一个控件 ErrorProvider这将有助于我们在必填字段上显示错误。

How to: Display Error Icons for Form Validation提供了一个简短的介绍。

ErrorProvider 可以按照您想要的方式使用,例如对于文本框,您可以在 TextChanged 事件处理程序或任何其他按钮事件中使用它,如下所示:

if (!int.TryParse(strNumber, out result))
{
    errorProvider.SetError(tbNumber, "Only Integers are allowed");
}
else
{
    errorProvider.Clear();
}

关于c# - 对 Windows 窗体上的字段执行数据验证的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13528175/

相关文章:

c# - 获取嵌套列表中的值索引

c# - Entity Framework 6 : Slow "WHERE NOT IN" statement

c# - 在 String.Format 中转义大括号 '{'

c# - 将数字代码复制到剪贴板并粘贴到 Excel,无需将其格式化为数字

c++ - VC++ Winforms 自动生成的项目无法调试 VS2010 : "This Project is out of Date"

c# - 如何检测进程是否移动了鼠标光标而不是用户?

c# 使用参数的计算结果调用 base()

c# - 使用 OData 的 Web Api HelpPage 不工作

c# - NUnit 测试中属性的 MissingMethodException

c# - 如何在 C# 中创建 Word 文档?