我可以为一个错误提供程序处理(例如)6个文本框的多个验证吗?用错误提供程序处理多个错误
1
A
回答
1
示例为每个文本框提供一个错误(如果其为空),并指定该错误适用于哪个文本框。
*带开关编辑
private void Form1_Load(object sender, EventArgs e)
{
foreach (TextBox textBox in Controls) { textBox.Validating += textBox1_Validating; }
}
private void textBox1_Validating(object sender, CancelEventArgs e)
{
ErrorProvider errProv = new ErrorProvider();
TextBox txtSender = (TextBox)sender;
string content = txtSender.Text;
string error = "";
switch (txtSender.Name)
{
case "textBox1":
error = "error textbox1";
break;
case "textBox2":
error = "error textbox2";
break;
case "textBox3":
error = "error textbox3";
break;
case "textBox4":
error = "error textbox4";
break;
case "textBox5":
error = "error textbox5";
break;
case "textBox6":
error = "error textbox6";
break;
case "textBox7":
error = "error textbox7";
break;
case "textBox8":
error = "error textbox8";
break;
}
if (content == "") { errProv.SetError(txtSender, error); }
}
+0
难道你不能以更高效的方式来做到这一点..也有很多硬编码..代码可以减少使用方式的一个foreach循环.. – MethodMan
+0
@DJKRAZE只是明确地监督如何做到这一点。 –
相关问题
- 1. OraOleDB提供程序错误
- 2. 哪个错误将由express错误和uncaughtException错误处理程序处理?
- 3. 处理命令期间发生一个或多个错误。提供程序错误'80040e14'
- 4. 线程,多处理错误
- 5. php curl多错误处理程序
- 6. Java错误处理程序
- 7. Java处理程序错误
- 8. Flask错误处理程序
- 9. 错误处理Java程序
- 10. Ajax.PageHandlerFactory错误处理程序
- 11. 用户提供程序错误symfony
- 12. 在处理多个错误
- 13. 处理多个IoResult错误
- 14. 使用错误提供程序验证多个文本框
- 15. 用一个UIAlertController处理多个错误
- 16. 堆栈跟踪错误处理程序,并承诺错误处理程序
- 17. Sql Server OLEDB提供程序错误。提供商耗尽内存错误
- 18. WPF中的错误提供程序
- 19. sql compact会员提供程序错误
- 20. “未知的提供程序错误”
- 21. 蒸气MongoDB提供程序错误
- 22. AngularJS:未知的提供程序错误
- 23. nativescript和angular2 - 无提供程序错误
- 24. Angular2上的Jsonp提供程序错误
- 25. EFCore 1.1 Scaffold-DbContext提供程序错误
- 26. HibernatePersistence提供程序发生错误
- 27. 错误:没有提供程序ValidateService
- 28. 网站地图提供程序错误
- 29. wpf错误提供程序不刷新
- 30. 错误:没有配置提供程序
是有哈米德·塔利比,看看这个StackOverflow的问题http://stackoverflow.com/questions/12129824/validating-multiple-textboxes-using-errorprovider – MethodMan
@ DJKRAZE,我看到了。但是有一个问题!那么我可以为每个文本框写一个错误文本验证吗?例如: var controls = new [] {tx1,tx2。 ....,txt10}; (e => String.IsNullOrEmpty(e.Text)) { errorProvider1.SetError(contro1,“请填写这个”); errorProvider1.SetError(contro2,“请填写必填项字段“); errorProvider1.SetError(contro3,”请填写所有“); } –
你可以添加你的代码,你把你的问题的评论.. – MethodMan