2009-02-02 148 views
4

我一直在使用C#將winform中的文本框綁定到數據集。只要數據沒有通過數據庫驗證,除非它靜默地強制焦點留在文本框中。我如何捕獲驗證錯誤並告訴用戶有關它(並釋放焦點)? BindingSource事件OnDataError未被觸發。綁定文本框

+0

如何檢查數據是否無效? – BFree 2009-02-02 22:27:19

+0

我不是,Visual Studio或C#/ .NET已經爲我完成了。我想改變它。 – Malfist 2009-02-02 22:28:17

回答

2

我曾經有過類似的問題。當用戶修改文本框中的文本然後將其刪除,以便文本屬性爲空字符串時,焦點仍保留在綁定到某個數字數據庫字段的文本框中。我用類似的方法解決它:

textbox.DataBindings["Text"].NullValue = ""; 

它解決了空輸入問題。我不知道在你的情況下它是否有用,但我也會對更一般的解決方案感興趣。

這裏也因此,一些相關的問題:

Data-bound TextBox: can't exit

1

如果你不完全明白它在做什麼,永遠不要僅僅依靠「Visual Studio爲我做的」。我強烈建議你花點時間,弄清楚如何去做自己想做的事情(意思是沒有設計器生成的代碼)。爲了讓你開始,TextBox上有一些事件可以幫助你。從這裏開始:

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.validated.aspx

具體的驗證和確認事件應該是你在找什麼。

+0

它迫使我依賴它,因爲我不知道如何覆蓋它的控件,這就是我所要求的。我該如何覆蓋它正在做的事情> – Malfist 2009-02-03 17:46:14

0

這不只是形式的Autovalidate財產?