2011-06-06 67 views
2

如果我使用按钮和文本框以及以下事件处理函数创建一个简单的Winforms应用程序,我希望在按下按钮时看到“False”。当我点击按钮时,它实际上产生“真”。.net WinForms控件验证 - 如何显式验证所有控件

为什么表单有效?虽然the docs表示传递false会导致验证无条件执行,但看起来验证事件并未执行。

private void button1_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show(this.Validate(false).ToString()); 
    } 

    private void textBox1_Validating(object sender, CancelEventArgs e) 
    { 
     e.Cancel = true; 
    } 

回答

4

它看起来像你试图验证窗体的子控件。如果是这种情况,您应该使用ValidateChildren方法之一而不是Validate