我可以爲一個錯誤提供程序處理(例如)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