windows 表单验证问题 (.net2.0 )

Posted

技术标签:

【中文标题】windows 表单验证问题 (.net2.0 )【英文标题】:windows form validation issues (.net2.0 ) 【发布时间】:2011-09-27 12:28:32 【问题描述】:

我需要一些有关 Windows 表单验证的帮助:

    使用标准表单关闭按钮 (X) 关闭表单会触发对所有控件的验证。 有没有办法在使用这个按钮关闭表单时抑制它,只有在按下我自己的按钮时才强制它? 当我以编程方式更改文本(值)时,不会调用文本框验证(可能是其他控件,我只测试了文本框)。如果我想稍后在表单关闭之前触发验证,我需要直接在文本框中输入文本。如何告诉表单某些控件需要验证(但不是立即触发)?

谢谢。

编辑: (1) 已解决,使用this 答案。 (2) 现在,在我将 AutoValidate 属性设置为 false 并将 ValidateChildren() 添加到我的按钮后,只有 1 个控件正在使用其当前值进行验证,所有其他控件的值都恢复为从 DataSource 对象绑定到它们的值。我在 Validating 事件中检查了它 - 只有第一个控件验证保持其当前值,在此验证完成后,其他控件的值将替换为 DataSource 对象中的值。我不明白为什么。有什么线索吗?

【问题讨论】:

【参考方案1】:

试试这个,也许它可以帮助你。 (1)

在 Forms Load 事件中,您可以放置 this.ControlBox = 假;。这将隐藏您的 X 按钮和顶部的其他按钮。 Form 有一个 Form1_FormClosing 事件。在那个事件中,您可以调用您需要的触发器。在表单上放置一个按钮,然后在 button_Click 事件中键入 this.Close()。

【讨论】:

以上是关于windows 表单验证问题 (.net2.0 )的主要内容,如果未能解决你的问题,请参考以下文章

我如何通过 .net 远程调用模拟经过 Windows 身份验证的 Web 用户?

.Net 2.0 的微 ORM? [关闭]

ASP.NET 2.0 中的模拟

Windows 身份验证与表单身份验证

表单身份验证和 Windows 身份验证的混合?

有啥区别:Windows 身份验证、护照身份验证和表单身份验证?