2013-03-06 75 views
-5

我試圖拿起C#,做一些基本驗證的東西。檢查驗證過程中是否有任何錯誤

所以,我使用了errorProvider控件,但是當我在窗體中按下OK按鈕時,窗體剛剛提交。是的,錯誤圖標出現在他們應該(驗證工作)的地方,但我如何檢查是否有實際的錯誤,以防止表單被提交?請嘗試儘可能保持友好,我幾乎不瞭解任何C#。

+0

Asp.net? Silverlight的? WPF?的WinForms? (我的downvote的主要原因,次要的是缺少代碼) – gdoron 2013-03-06 21:02:27

+0

你可以顯示你的onvalidation處理程序?我懷疑你沒有設置e.cancel = true – 2013-03-06 21:02:29

+0

@gdoron winforms – 2013-03-06 21:10:57

回答

2

,它應該是這樣的:

private void textBox1_Validating(object sender, CancelEventArgs e) 
    { 
     TextBox tb = sender as TextBox; 
     if (tb.Text.Length > 0) 
     { 
      e.Cancel = true; 
      errorProvider1.SetError(tb, "Please leave this textbox blank!"); 
     } 
     else 
     { 
      errorProvider1.SetError(tb, ""); 
     } 
    } 

這會防止你點擊關閉控制

另外,實行OK按鈕單擊處理程序是這樣的:

private void OkBtn_Click(object sender, EventArgs e) 
    { 
     if (!Validate()) 
     { 
      DialogResult = System.Windows.Forms.DialogResult.None; 
     } 

    } 

的 「的DialogResult =無」 布西ness是什麼停止表單關閉。

+0

謝謝,我明白了。 – 2013-03-06 21:11:56

+0

如果解決了這個問題,我可以接受嗎? – 2013-03-06 21:13:25

+0

有一個upvote以防萬一。乾淨,簡潔的答案。 – 2013-03-06 21:16:42

相關問題