我想不接受任何東西,除了整數從00到60文本框只能接受整數從00 - 60
條件來驗證一個文本框用戶輸入:
- 如果用戶輸入0或者什麼都不輸入,那麼系統應該將它視爲00(注意我用0填充了它。
- 我知道我也可以在
numericupdown
中這樣做,但由於某些原因,我無法使用它。 - 我需要在20個文本框中應用這個。
這是代碼,實際上它正在工作。我唯一的問題是我不能將它應用於20個文本框,它只在tb_hour_1文本框中工作,有什麼我可以做的,而不是在代碼Dim num As Integer = Integer.Parse(String.Format("{0}{1}", If(Tb_Hour_1.Text = String.Empty, "", Tb_Hour_1.Text), e.KeyChar.ToString()))
的這一行中指示tb_hour_1.text
。
代碼:
Private Sub Tb_Hour_1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Tb_Minute_2.KeyPress, Tb_Minute_1.KeyPress,
Tb_Hour_2.KeyPress, Tb_Hour_1.KeyPress
Dim Min_Num As Integer = 0
Dim Max_Num As Integer = 60
If e.KeyChar <> ControlChars.Back Then
'allow backspace for deleting
e.Handled = Not Char.IsNumber(e.KeyChar)
'allow numbers only
If Not e.Handled Then
Dim num As Integer = Integer.Parse(String.Format("{0}{1}", If(Tb_Hour_1.Text = String.Empty, "", Tb_Hour_1.Text), e.KeyChar.ToString()))
If num < Min_Num OrElse num > Max_Num Then
e.Handled = True
End If
End If
End If
End Sub
對所有文本框使用通用事件處理程序是好的。只需通過強制替換Tb_Hour_1即Ctype(發件人,文本框)即可。 – Graffito
你有'Tb_Hour_1'使用'發件人'或一個NumericUpDown的硬編碼引用 – Plutonix
@Graffito,您的評論適合我。請回答這個問題,以便我可以將其作爲接受的答案。 –