2011-06-06 69 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