问题标签 [errorprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
11580 浏览

c# - 使用 ErrorProvider 和验证事件进行表单验证

我对使用验证还很陌生。我有一个 C# winform 项目,我想在关闭之前验证表单。但是,我只希望在单击按钮时进行此验证。所以我有一个像这样触发的事件:

如果验证成功,我只想关闭表单。很容易。但是,我不想在文本框失去焦点时运行验证,只有在验证整个表单时才运行。

我想要验证的每个控件,我都注册了“验证”事件。他们使用“e.Cancel = true;” 取消验证。我一直在使用 ErrorProvider 类来直观地支持这一点。

所以基本问题是,只有在我想要而不是在控件失去焦点时验证一组特定控件的最佳方法是什么?

编辑:目前作为一种解决方法,我有一个方法可以打开和关闭“CausesValidation”属性。我默认所有内容都不是 CauseValidation,在我使用事件验证整个表单之前启用它们,然后再次禁用它们。

我真的不认为这是一种理想的方法。还有更多“优雅”的解决方案吗?

0 投票
1 回答
271 浏览

c# - 我怎样才能在 ErrorProvider 组件上放一个枪口?

我正在尝试使用 ErrorProvider 组件。

我在表格上有一个关闭按钮,当然它在表格的东北角也有“X”关闭的东西。

但是,一旦“引发”错误,单击“关闭”按钮或“关闭”框(或称为 doohicky 的任何内容)将无响应/不起作用。

当表单上有错误时,我必须怎么做才能让用户关闭表单?

更新:

这是我现在在“关闭”按钮的 OnClick() 处理程序中尝试的代码 - 它仍然拒绝关闭:

再次更新:只是为了做鬼脸,我尝试在“关闭”按钮上将“DialogResult”属性从 Canceled 更改为 None,但这并没有帮助(没想到它会 - 抓住稻草)

也没有将按钮的“原因验证”属性从 True 更改为 False ......

再次更新:

以下是所有可能适合发布或不适合发布的相关内容:

0 投票
2 回答
3923 浏览

c# - C# 验证多个文本框?

我有近 20 个文本框,并检查所有我必须使用 errorprovider 调用 validate 事件 20 次。除此之外还有什么有效的方法。

0 投票
2 回答
2158 浏览

c# - ErrorProvider 工具提示消息

我是 c# 新手,我遇到了这个问题:

我在这里有一个带有 errorProvider 的文本框和我的文本框上方的标签..

在验证我的文本框中的值后,每当输入的值不可接受时,错误图标应出现在标签的右侧,并在图标悬停时显示其工具提示消息。

但是,每当我单击错误图标时,其工具提示消息将(已处置?或)消失并且不会重新出现,即使鼠标指针从错误图标移开并再次悬停在该图标上。当整个窗口关闭并重新打开时,它只会重新出现。它有点烦人。

单击错误图标时,如何使其不消失?请帮忙..

0 投票
1 回答
4267 浏览

winforms - 错误 C2039:“Dispose”:不是“System::Windows::Forms::ErrorProvider”的成员

我正在尝试使用 ErrorProvider 类在复选框上显示错误。我可以使用以下代码显示错误

但是当我尝试使用以下代码处理此 errorProvider 时

然后这条线显示错误

此代码我能够在 vc# 中成功运行,但不能在 vc++ 中运行;

但是由于我的要求是在 vc++ 中使用它。

谁能告诉我这段代码有什么问题。

提前致谢

0 投票
9 回答
20514 浏览

c# - C# ErrorProvider 想知道是否有任何活动

我想知道我的表单中是否有任何 ErrorProvider 处于活动状态。能够找到这一点可能有助于减少我的代码..

我确实在这里找到了这个东西Counting ErrorProvider

但万一有人知道更好的方法......所以就这样吧。

好的,所以基本上我有一个 WinForm,它有很多 TextBox 现在,当用户输入值时,我使用 Validating 来执行验证,如果它与 Regex 不匹配,我将 ErrorProvider 设置为该控件的 ON .. 同样,如果用户将值更改为可接受的值我为该控件关闭 ErrorProvider ..

但是当单击“保存”时,无论如何我都必须进行另一次检查,以防用户不听我的声音并像他应该做的那样更改内容并仍然单击“保存”..我不希望事情崩溃..

soo mm 有没有像我可以说如果 ErrorProviders 未激活然后继续保存 else 消息框说更改它的事情。

[另一个问题]

嗯,验证时仅在控件失去焦点时验证...我有点希望它在用户停止输入时进行验证..我希望你明白我的意思

就像用户输入他/她的名字时的电子邮件地址(文本框)一样当控制失去焦点时)键入后 2 奇数秒我可以进行验证吗?

0 投票
1 回答
822 浏览

tabcontrol - Windows 窗体错误提供程序不显示在自定义选项卡控件中

我正在尝试在 Windows 窗体中构建向导框架。我已经设法从这个网站和其他网站收集了很多有用的技巧,这些技巧让我非常接近成功。但是,我在向导第一页以外的任何选项卡页上显示 ErrorProvider 时遇到问题。

我的向导控件是一个用户控件。它包含一个我从 TabControl 派生的自定义选项卡控件,以便我可以隐藏选项卡并忽略使用按键在选项卡之间导航的尝试,以及控件底部通常的返回/下一步/完成/取消按钮集合。

当我点击下一步按钮时,我使用反射允许我在属于向导控件的特定 TabPage 上引发验证事件。(我不想验证整个 TabControl,只验证当前活动页面。)当我这样做时,我在调试器中看到我的当前选项卡页面上控件的验证例程被正确调用,我看到我'我调用了我附加到特定控件(在本例中为 TextBox)的 ErrorProvider,并带有有效的错误消息。我在验证例程中将 CancelEventArgs 的 Cancel 设置为 true,并由使用反射机制的代码拾取,以便我看到我失败并且不更改选项卡。我成功地将焦点设置在验证失败的控件上。

因此,所有这些似乎都工作得很好。

不幸的是,除非我在第一个标签页上,否则我看不到 ErrorProvider 令人愉快的闪烁图标对于所有其他标签页,根本看不到任何消息。

我很困惑。有什么想法吗?如果有帮助,我可以提供代码片段。

谢谢!

0 投票
1 回答
5112 浏览

c# - 文本框验证错误提供程序未清除

如果按下/输入了任何错误的字符,我必须向用户显示一个图标,所以我正在使用 error_provider。

在我的情况下,error_provider 不会消失,如果它是文本框中的有效数字。这里的misatek是什么?

0 投票
1 回答
3164 浏览

c# - 如何比较两个 textbox.text 是否大于其他带有错误提供程序的 textbox.text?

我在 C# winform 的用户控件中放置了两个文本框。txtFromtxtTo。我想比较两个 textbox.text ,如果txtTo小于txtFrom,则显示错误提供程序。我该怎么办?

0 投票
3 回答
15746 浏览

winforms - 如何在 C#.net winforms 中验证文本框

我有一个表单,我需要在其中验证名字、中间名、姓氏、emailId、日期、手机号码等文本框。验证应该在用户开始在文本框中输入时进行。如果用户输入数字代替文本和文本代替数字,errorprovider 应该在文本框下显示消息。我了解了隐式验证和显式验证,但我觉得最好使用隐式验证,因为它在用户失去对文本框的关注或转移到另一个文本框时会及时提供错误提供程序。我已经用明确的验证码提出了这种问题,但没有人回复我。所以我很容易获得帮助。在发布这个问题之前,不要认为我没有做足够的研究。