0

我有一个蒙面的文本框。

当用户输入他的输入并按 Tab 键时。我想检查他是否输入了有效日期?

我可以通过IsDate功能检查这一点。

如果它无效,那么日期的哪一部分是无效的?

我不能得到这个。我的意思是我不知道如何得到这个。

如果我的上述问题得到了回答,那么我想问用户他的日期或月份或年份是无效的。你想用当前日期或当前月份或当前年份替换它吗?

或者即使用户将年份保留为空白,那么我也希望用当前年份代替空白空间。或与月份相同。

4

2 回答 2

1

您在这里有几个不同的问题,并且不清楚您真正想要什么,但要回答有关获取当前日期/月份/年份的问题,请查看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
于 2013-05-20T19:01:02.810 回答
0

这是我的问题的答案。

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
于 2013-05-20T20:32:22.033 回答