2012-09-26 66 views
2

我有一個基於C#的WinForms應用程序,其中有很多菜單,其中每個菜單都有多個用戶輸入控件。所有窗體都有OK按鈕,它們可以對用戶輸入進行處理。最簡單的方法在C#中按鈕按下表單驗證?

當用戶按下OK按鈕時,我必須對所有這些控件進行驗證。要檢查輸入的字符串是否是數字,是否爲特定長度,是否存在等等...

是否有任何C#功能可以做到這一點,而不是我必須爲每個確定按鈕寫完整的代碼?

回答

0

一種方法是調用ValidateValidateChildren從OK按鈕,單擊事件處理程序。然後您將有一個Validating事件處理程序爲每個控件進行驗證。

參見this MSDN article on User Input Validation

0

如果你不希望在你的表單設計進入這樣的代碼,那麼你總是可以作出這樣的設計自己的自定義控制以某種方式工作。

因此,舉例來說,你可以創建一個從TextBox類繼承的類,並且您可以覆蓋此控制做的正是你想要它做的事件。

製作您自己的控件,這些控件的設計可以按照您的需要進行操作。按照這種方式做事,您無需在表單設計中儘可能多地驗證輸入,因爲您可以設置控件的行爲,並將控件放到表單上。

你總會有用戶輸入一些驗證,但你可以在表單事件限制它,這一切都取決於你如何定製需要這些控件是。

,如果你想控制來限制某些鍵,就像在一個RichTextBox「返回鍵」,或者你要處理的剪貼板中的內容作爲其被粘貼這種事情是好的。你可以在課堂上做所有的代碼,而不是在你的表格中。

希望這會有所幫助。要做到這一點