2013-03-06 73 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

相关问题