2010-01-16 81 views
0

我有一個Windows窗體的桌面應用程序,有7個字段,如何驗證表格

我怎麼能提交按鈕,直到表單驗證?

我知道我可以在用戶點擊按鈕時驗證表單,但是如果我禁用了按鈕,那麼調用我的驗證方法的最佳方式是什麼?

使用C#表達2008年

+0

想想你使之成爲自己@Alex困難。爲什麼不單單在提交按鈕被點擊時驗證表單數據,如果失敗則取消提交併向用戶提供一些反饋爲什麼不能提交。 – David 2010-01-16 11:03:40

+0

它是我的家庭作業。 只需按照指示開球。 雖然我認爲禁用按鈕,直到字段被正確填寫更好。 – Alex 2010-01-16 12:46:58

回答

0

您始終可以從所有7個控件的更改事件中調用驗證方法。如果您已將控件綁定到某個數據源,則數據源shuld會有一個OnUpdated事件。

private void TextBox1_Changed(object sender, EventArgs e) 
{ 
Validate(); 
} 

private void ComboBox2_Changed(object sender, EventArgs e) 
{ 
Validate(); 
} 

private void Validate() 
{ 
if(ValidationOk()) 
{ 
    Button1.Enabled = true; 
} 
else 
{ 
    Button1.Enabled = false; 
} 

} 

或許:

private void Validate() 
{ 
Button1.Enabled = ValidationOk(); 
} 
+0

Button1.Enabled = false;每次都會執行? – Shoban 2010-01-16 10:23:44

+0

你會怎麼做? – magnus 2010-01-16 10:26:26

+0

@ Thanks magnus,這就是我現在正在處理的內容, 有趣的是,如何偷看評論,但沒有自己的答案。 無論如何,你必須添加一個其他的權利/ 現在我必須讓驗證方法正常工作。 – Alex 2010-01-16 10:33:14

0
+0

hmm。但它確實只顯示一個字段,而不是如何將所有字段驗證連接到啓用按鈕。] – Alex 2010-01-16 10:40:56