首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ErrorProvider 组件

ErrorProvider 组件

作者头像
firstxinjie
发布2024-12-23 15:17:36
发布2024-12-23 15:17:36
2140
举报
文章被收录于专栏:X#(XSharp)X#(XSharp)

在 VFP 中,几乎没有人使用 ErrorProvider,但不可否认,它是一个优秀的自定义组件(类)。如果你还不了解它,可以通过访问 http://www.mzvfp.com/forum/read.php?tid=76128 来获得。

我刚刚又访问了一次,看到的是浏览次数 2284,下载次数 11 。

从设计角度出发,它提供了一种比 MessageBox 更优雅的错误信息提示方式,避免模式信息对话框造成的所谓操作中断,可以提供更好的交互体验。因此,在我的开发框架中,它被普遍应用以替代 MessageBox 。

在 VFP 中,我对其予以一定的修改,以更加符合VFP的设计思维。但是,在 .NET 中,我还没有达到同样的技术能力,因此,当我在 X#(XSharp)中试图重现在 VFP 中熟悉的功能时,遇到了一些小小的“困难”。

网络引擎搜索的结果,是大量的简单的示例,即使是 MS 的官方文档。它们仅仅是演示了在数据验证失败后如何以代码实现信息提示,大概就是下面的代码:

代码语言:javascript
复制
*!* This  相当于 VFP 中的 Thisform
This.ErrorProvider.SetError(This.textbox1, "数据验证失败!")

因为在 VFP 中习惯了在保存数据前通过检查 ErrorProvider.Count 是否为 0 来确定是否继续保存的动作(如果 >0,则再次闪烁以提醒操作者还有未解决的问题),因此,在 X# 中重现此行为时,遇到了一点点“麻烦”。通过询问 AI,获得了可能是目前为止唯一的解决方案:

代码语言:javascript
复制
This.ErrorProvider.SetError(This.textbox1, "")
This.ErrorProvider.SetError(This.textbox1, "数据验证失败!")

说实话,从我的感觉是,很丑!也许,随着我对 .NET 的进一步熟悉,也能像在 VFP 中一样对其进行封装,以优雅的实现自己的目的......

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 xinjie的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档