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

2024-04-30

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


我遇到了和你一样的情况,我找到了一个简单的解决方案,或者你可以说这个简单的解决方案适用于 WinForms。 WinForms包含一个控件ErrorProvider https://learn.microsoft.com/en-us/dotnet/framework/winforms/controls/errorprovider-component-windows-forms这将有助于我们在必填字段上显示错误。

The 如何:显示表单验证的错误图标 https://learn.microsoft.com/en-us/dotnet/framework/winforms/controls/display-error-icons-for-form-validation-with-wf-errorprovider提供了简短的介绍。

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

if (!int.TryParse(strNumber, out result))
{
    errorProvider.SetError(tbNumber, "Only Integers are allowed");
}
else
{
    errorProvider.Clear();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 Windows 窗体上的字段执行数据验证的最简单方法 的相关文章

  • XPATH 查询、HtmlAgilityPack 和提取文本

    我一直在尝试从名为 tim new 的类中提取链接 我也得到了解决方案 给出了解决方案 片段和必要的信息here https stackoverflow com questions 2982862 extracting a table ro
  • html5 输入模式属性在表单之外不起作用?

    这把小提琴 http jsfiddle net 2gaw3 按预期工作 当用户输入无效的国家 地区代码时 它会显示警告 这另一个小提琴 http jsfiddle net y66vH 4 没有form元素 不起作用 看来输入的pattern
  • 如果 JSON.NET 中的值为 null 或空格,则防止序列化

    我有一个对象需要以这样的方式序列化 即 null 和 空白 空或只是空格 值都不会序列化 我不控制对象本身 因此无法设置属性 但我知道所有属性都是字符串 环境NullValueHandling显然 忽略 只能让我找到解决方案的一部分 它 似
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装
  • 在 ASP.NET MVC 中将模型从视图传递到控制器

    我正在 ASP NET MVC 中开发我的第一个应用程序 但遇到了一个我无法解决的问题 即使在阅读了整个互联网之后也是如此 因此 我有几个使用视图模型创建的视图 它们是报告 这些视图模型是根据用户选择标准填充的 我正在尝试构建一种接受模型并
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • .NET 程序集差异/比较工具 - 有什么可用? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在两个程序集之间进行代码级差异 Reflector 的 Diff 插件是迄今为止我发现的最接
  • 如何使用 Roslyn 通过扩展方法、静态类中的方法以及带有 ref/out 参数的方法来访问调用

    我正在致力于创建一个开源项目 用于创建 NET UML 序列图 该项目利用名为 js sequence diagrams 的 javascript 库 我不确定 Roslyn 是适合这项工作的工具 但我想我应该尝试一下 所以我整理了一些概念
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 使用 C# 中的 Google 地图 API 和 SSIS 包获取行驶距离

    更新 找到了谷歌距离矩阵并尝试相应地修改我的代码 我在这里收到无效参数错误 return new GeoLocation dstnc uri ToString catch return new GeoLocation 0 0 https 基
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • 无法为 wsdl 文件创建服务引用

    I have wsdl文件和xsd我本地机器上的文件 我想在项目中添加服务引用 我没有网络服务 我只有wsdl file 我收到以下错误 The document was understood but it could not be pro
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • 如何在网页上实现文件上传进度条?

    当用户将文件上传到我的网络应用程序时 我想显示比动画 gif 更有意义的内容 我还有哪些可能性 编辑 我正在使用 Net 但我不介意是否有人向我展示与平台无关的版本 如果您对这一切在客户端通常如何工作感兴趣 就是这样 所有解决方案都通过 J
  • 在 Windows CE 6.0 与 Windows Mobile 6.1 下进行开发的权衡是什么

    我有一个 Windows NET 应用程序 我计划将其 移植 并定制为移动设备 该应用程序由一个独立的 NET 程序组成 该程序与条形码扫描仪配合使用 具有简单的 UI 并将扫描结果记录到文件中 还有一个 Windows 服务 可以使用 W
  • printf或iostream如何指定点后的最大位数

    字符串采用什么格式printf or iomanip我应该使用 iostream 中的运算符以以下格式打印浮点数 125 0 gt 125 125 1 gt 125 1 125 12312 gt 125 12 1 12345 gt 1 12
  • 使用 C# 动态创建按钮并按预定义的顺序放置它们

    NET 4 5 C 创建 Windows 窗体 我想动态创建和添加按钮并为其分配单击事件 但希望它们以特定的方式动态放置 就像图像一样 我的问题是如何以上述方式动态放置按钮 即 4x4 格式 一行 4 个按钮 4 列 但行数不受限制 是否可
  • 调试VS 2005提示“操作不支持”

    我一直在调试 VS 2005 并将 启动外部程序 设置为 C Program Files Microsoft Visual Studio 10 0 Common7 IDE devenv exe 但按 F5 后出现此错误 尝试运行项目时出错
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost

随机推荐

  • 甚至阻止超级管理员/dba 删除/更新表?

    我需要确保一些关键任务表永远不会被删除或编辑 唯一可能的操作是从中读取数据 并且 dba 可以添加更多行 就是这样 现在为了增加安全性 我想阻止甚至 dba 都能够删除 更改记录 所以基本上没有人可以删除或更改记录 也没有超级管理员 这些表
  • 编译器:如果条件始终为真/假怎么办

    我想到了条件和编译器 我正在为 Arduino 编写一个应用程序 因此我需要该应用程序尽可能快 在我的代码中我有这个 define DEBUG false if DEBUG String pinName pinName Pin pinNam
  • 如何制作 100% 宽度的 ASP.NET 菜单

    我正在构建一个 asp net 网站 其中需要一个水平 asp 菜单作为全屏宽度 其中有 10 个项目 每个项目的宽度为 10 请提出一个解决方案 因为当我将菜单宽度设置为 100 并且li宽度为 10 它不是全宽度的 但是 当我将菜单宽度
  • JDOM、XPath 和命名空间交互

    我在使用 XPath 表达式从 JDOM 文档中提取一些元素时遇到了非常令人沮丧的情况 这是一个示例 XML 文档 我想从文档中完全删除 ItemCost 元素 但目前无法获取 XPath 表达式来计算任何内容
  • 如何缩小 SQL Server 数据库?

    我有一个数据库大小接近1 9Gb 而MSDE2000不允许数据库超过2 0Gb 我需要缩小这个数据库 以及在不同客户端位置的许多其他类似数据库 我发现并删除了数百条或数千条被认为不需要的记录 这些记录占数据库中一些主要 最大 表的很大一部分
  • 罗伯特·吉塞克 (Robert Giesecke) 的不受管理的出口

    我正在尝试从 vb net 获取 DllExport 到非托管 c 工作 我在用着罗伯特 吉塞克 Robert Giesecke 的不受管理的出口 https sites google com site robertgiesecke Hom
  • 使用 owl:Class 前缀进行 rdflib 和 xml 序列化

    我想使用owl 我的 RDF 本体的 XML 序列化中的前缀 使用 rdflib 版本 4 1 1 不幸的是我仍然得到序列化rdf Description标签 我查看了有关将命名空间绑定到图表的答案RDFLib XML 序列化中的命名空间前
  • Python 正确解析 CSV

    我对 Python 很陌生 我想解析 csv 文件 以便它能够识别带引号的值 例如 1997年 福特 E350 超级豪华卡车 应该拆分为 1997 福特 E350 超级豪华卡车 and NOT 1997 福特 E350 超级 豪华卡车 如果
  • 可转换后:该商品与您的设备不兼容

    我使用 www apportable com 工具 免费版 将我的 Cocos2d IOS 项目转换为 Android APK 文件 经过一些代码调整后转换成功 在我的 Nexus 7 上测试 有效 已上传到 Google Play 在 A
  • 使用 -g 进行编译本身会降低性能吗? [复制]

    这个问题在这里已经有答案了 这是一个关于 gcc 和 clang 的问题 但可能适用于其他编译器 如果我编译我的 C 或 C 代码 并使用 g开关 这本身是否会以任何方式降低编译程序的性能 具有最小的优化 O0 具有最大优化 O3 Note
  • 为什么 pygame.draw.circle 中的中心参数在我的 pygame 轨道模拟器中不被视为一对值?

    这是我的完整代码 import pygame import math Set up the Pygame window pygame init WIDTH 800 HEIGHT 800 screen pygame display set m
  • 检测 jQuery UI 自动完成

    如何检测输入框当前是否为 jQuery UI 自动完成功能 似乎没有一个本机方法 但我希望有像这样的简单方法 if q autocomplete Do something 然而 这个条件似乎总是返回 true if q hasClass a
  • 为什么 Haskell 类型签名声明有多个箭头?

    抱歉 这句话措辞不好 但很难描述 我想我会跳到这个例子 add Integer gt Integer gt Integer add x y x y 为什么 Integer gt Integer gt Integer 代替 Integer I
  • 在 ruamel.yaml 的列表元素中添加注释

    我使用 Python 在 YAML 文件的列表中动态添加元素 并且我想在我添加的每个元素旁边添加注释 以下是所有所需的格式 flow style example a b c first list d e second list block
  • flutter生成的3个APK有什么区别?

    我需要了解Android设备架构 以及为什么我使用时会生成三种不同类型的APK flutter build apk split per abi 当我使用 flutter build apk 我得到一个名为 fat APK 的大 APK 文件
  • Windows批处理文件:在for循环中设置变量

    我有许多具有相同命名方案的文件 作为示例 四个文件分别称为 num 001 001 txt num 002 001 txt num 002 002 txt num 002 003 txt 第一组数字代表它来自哪个 包 第二组数字只是用来区分
  • CUDA 常量内存是否应该被均匀地访问?

    我的 CUDA 应用程序的恒定内存小于 8KB 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 如果是 如何确保所有线程同时访问同一地址 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 是的 这缓存本身每
  • AJAX 表单不显示成功或错误消息

    这个问题我以前也问过 但还是没搞明白 我做了一些改变 但不幸的是我仍然没有得到任何运气 表单本身可以工作 但当用户尝试发送表单时 它还应该显示错误或成功消息 但它不显示消息 而是发送表单而不显示它 看看我的代码 HTML
  • 我可以在运行时更改 Silverlight 浏览器外设置吗?

    我有一个代码库 可以在各种配置中安装 OOB SL5 应用程序 根据运行时的配置 由初始化参数选择 我想在执行安装之前更新 OOB 设置 标题 窗口标题 看来唯一的方法是在编译时通过 OutOfBrowserSettings xml 文件
  • 对 Windows 窗体上的字段执行数据验证的最简单方法

    我有一个 Windows 窗体项目 我想在用户按下底部的计算按钮之前强制用户在某些字段中输入值 这些字段包括三对单选按钮 five 文本框和一个组合框 因此基本上所有这些字段都需要包含一个值才能执行计算 此外 文本框应包含numbers 任