【发布时间】:2020-04-05 16:25:07
【问题描述】:
我有以下代码,我试图用它来格式化文本以符合(基于时间的)分钟,我想我稍后也会在几秒钟内重复使用它。首先,我想确定我的分钟在 0-59 的范围内(这部分工作正常)然后我想获得从 0-9 的所有分钟,如果他们有一个数字的例子是 0,1,2,3 ,4,5 等...我想添加一个前缀 0 以便这些成为 01,02,03,04,05 等...。如果用户输入 01 那 01 然后这是我的问题开始的地方变成 001 并且如果由于某种原因用户输入 10 那 10 也变成 01 有人可以帮我解决这个问题吗?
Private Sub TextBox13_Leave(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox13.Leave
If IsNumeric(TextBox13.Text) Then
If TextBox13.Text >= CStr(0) Or TextBox13.Text <= CStr(59) Then
If TextBox13.Text <= CStr(9) Then
TextBox13.Text.Replace("0", "")
TextBox13.Text = ("0" & TextBox13.Text)
Else
'do nothing formatiing is okay
End If
Else
TextBox13.Text = "00"
End If
Else
TextBox13.Text = "00"
End If
'If TextBox13.Text <= CStr(-1) Or TextBox13.Text >= CStr(61) Or TextBox13.Text = Nothing Then
' TextBox13.Text = "00"
'ElseIf TextBox13.Text >= CStr(1) Or TextBox13.Text <= CStr(9) Then
' TextBox13.Text.Replace("0", "A")
' TextBox13.Text = "0" & TextBox13.Text
'ElseIf TextBox13.Text = "0" Then
' TextBox13.Text = "00"
'End If
Call MyNewEndDurration()
End Sub
【问题讨论】:
-
为什么不直接使用
DateTimePicker并将CustomFormat设置为“mm:ss”?将Value设置为Date.MinValue,然后默认显示“00:00”,您可以从myDateTimePicker.Value.TimeOfDay获取TimeSpan的实际值。您还可以将ShowUpDown设置为True以使用微调器按钮而不是日历下拉菜单。 -
或一个 MaskedTextBox。
标签: vb.net textbox text-formatting