2011-05-22 68 views
0

我的問題是這樣的:通用函數來獲取從文本框按鍵事件

在我的C#Windows窗體程序我有大約50文本框。他們都只能從1到1024 包含數字所以其實我有兩個問題:

  1. 有沒有辦法讓一個一般的「按鍵事件」,這樣我就可以截獲輸入的每一個文本框中一個函數(所以我不需要爲每個文本框編寫一個函數)。

  2. 如何限制輸入爲1024?我知道如何截取信件,但我怎樣才能給Textbox一個最大值?

問候

托比亞斯

+1

[如何爲所有文本框的特定目的使用公共子項?](http://stackoverflow.com/questions/6088747/how-to-have-common-sub-for-a-particular-通用文本框) – 2011-05-22 15:54:44

+1

正如我對上述重複問題的回答所解釋的那樣,*最好的做法是創建一個自定義控件,該控件從'TextBox'類繼承並覆蓋'OnKeyPress'方法。或者,更好的是,由於您只需要一個介於1和1024之間的數字,因此請使用['NumericUpDown'控件](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.numericupdown .aspx)**,而不是'TextBox'。 – 2011-05-22 15:56:08

回答

0

好吧,既然科迪做了它作爲一個評論,我會做到這一點作爲一個答案。

從TextEdit派生,並將您的窗體上的所有TextEdit出現替換爲派生類。在派生類中,使用覆蓋實現您的限制。