我试图拿起C#,做一些基本验证的东西。检查验证过程中是否有任何错误
所以,我使用了errorProvider控件,但是当我在窗体中按下OK按钮时,窗体刚刚提交。是的,错误图标出现在他们应该(验证工作)的地方,但我如何检查是否有实际的错误,以防止表单被提交?请尝试尽可能保持友好,我几乎不了解任何C#。
我试图拿起C#,做一些基本验证的东西。检查验证过程中是否有任何错误
所以,我使用了errorProvider控件,但是当我在窗体中按下OK按钮时,窗体刚刚提交。是的,错误图标出现在他们应该(验证工作)的地方,但我如何检查是否有实际的错误,以防止表单被提交?请尝试尽可能保持友好,我几乎不了解任何C#。
,它应该是这样的:
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是什么停止表单关闭。
谢谢,我明白了。 – 2013-03-06 21:11:56
如果解决了这个问题,我可以接受吗? – 2013-03-06 21:13:25
有一个upvote以防万一。干净,简洁的答案。 – 2013-03-06 21:16:42
验证有很多种方法。请阅读这篇文章启动,如果你使用的是错误提供商和处理onvalidating许多问题将消失http://msdn.microsoft.com/en-us/library/debza5t0%28v=vs.100%29.aspx
Asp.net? Silverlight的? WPF?的WinForms? (我的downvote的主要原因,次要的是缺少代码) – gdoron 2013-03-06 21:02:27
你可以显示你的onvalidation处理程序?我怀疑你没有设置e.cancel = true – 2013-03-06 21:02:29
@gdoron winforms – 2013-03-06 21:10:57