Windows窗体验证问题(.net2.0)

时间:2011-09-27 12:28:32

标签: .net-2.0 validation c#-2.0

我需要有关Windows窗体验证的一些帮助:

  1. 使用标准表格关闭按钮(X)关闭表单会触发所有控件的验证。 有没有办法在使用此按钮关闭窗体时压缩它,并仅在按下我自己的按钮时强制它?
  2. 验证文本框(可能是其他控件,我只测试了文本框)当我以编程方式更改文本(值)时不会调用。如果我希望稍后在窗体关闭之前触发验证,我需要直接在文本框中键入文本。如何告诉表单某些控件需要验证(但不能立即触发)?
  3. 感谢。

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

1 个答案:

答案 0 :(得分:0)

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

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