我有一个蒙面的文本框。
当用户输入他的输入并按 Tab 键时。我想检查他是否输入了有效日期?
我可以通过IsDate
功能检查这一点。
如果它无效,那么日期的哪一部分是无效的?
我不能得到这个。我的意思是我不知道如何得到这个。
如果我的上述问题得到了回答,那么我想问用户他的日期或月份或年份是无效的。你想用当前日期或当前月份或当前年份替换它吗?
或者即使用户将年份保留为空白,那么我也希望用当前年份代替空白空间。或与月份相同。
您在这里有几个不同的问题,并且不清楚您真正想要什么,但要回答有关获取当前日期/月份/年份的问题,请查看DateTime.Now。
DateTime.Now.Day gets you the current day
DateTime.Now.Month gets you the current month
DateTime.Now.Year gets you the current year
这是我的问题的答案。
Private Sub mskdTxtBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles mskdTxtBox1.Validating
'Check If Day is entered.
If mskdTxtBox1.Text.Substring(0, 2).Trim <> "" Then
'Check if Month is entered.
If mskdTxtBox1.Text.Substring(3, 2).Trim <> "" Then
'Check if year is not entered.
If mskdTxtBox1.Text.Length = 6 Then
'Check if Date and month entered are valid.
If IsDate(mskdTxtBox1.Text & Now.Year) Then
mskdTxtBox1.Text = mskdTxtBox1.Text & Now.Year
End If
End If
Else
'Check if Date entered will be valid for the current date that we want to create?
If IsDate(mskdTxtBox1.Text.Substring(0, 2).Trim & "-" & Now.Month & "-" & Now.Year) Then
'Check if month is two digit?
If Now.Month.ToString.Length < 2 Then
mskdTxtBox1.Text = mskdTxtBox1.Text.Substring(0, 2).Trim & "-0" & Now.Month & "-" & Now.Year
Else
mskdTxtBox1.Text = mskdTxtBox1.Text.Substring(0, 2).Trim & "-" & Now.Month & "-" & Now.Year
End If
End If
End If
Else
Dim TodaysDay As String = Now.Day
Dim TodaysMonth As String = Now.Month
'Check if Current day is two digit?
If Now.Day < 10 Then
TodaysDay = "0" & Now.Day
End If
'Check if Current Month is two digit?
If Now.Month < 10 Then
TodaysMonth = "0" & Now.Month
End If
mskdTxtBox1.Text = TodaysDay & "-" & TodaysMonth & "-" & Now.Year
End If
End Sub