【问题标题】:Passing text box values in an event handler在事件处理程序中传递文本框值
【发布时间】:2012-04-01 14:17:17
【问题描述】:

我有以下代码来验证两个文本框条目,以确保它们是有效日期。我的问题是我无法弄清楚如何将文本框值作为参数传递,因此我可以使用该方法来处理两个不同文本框的文本验证。这是我目前所拥有的:

Private Sub txtBirthdate_Validating(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles txtBirthdate.Validating, txtSpouseBirthday.Validating

    Try
        If String.IsNullOrWhiteSpace(sender.ToString) Then
            'Do Nothing
        Else
            Dim ReturnDate As DateTime
            ReturnDate = validator.CheckIsValidDate(sender.ToString)
            txtBirthdate.Text = ReturnDate.ToShortDateString
        End If
    Catch ex As Exception
        Throw
    End Try

End Sub

谢谢!

【问题讨论】:

    标签: .net vb.net winforms events


    【解决方案1】:

    您需要将sender 对象转换为TextBox 才能获取属性:

    Private Sub txtBirthdate_Validating(sender As Object, e As CancelEventArgs) _
      Handles txtBirthdate.Validating, txtSpouseBirthday.Validating
    
      Try
        With DirectCast(sender, TextBox)
          If String.IsNullOrWhiteSpace(.Text) Then
              'Do Nothing
          Else
              Dim ReturnDate As DateTime
              ReturnDate = validator.CheckIsValidDate(.Text)
              .Text = ReturnDate.ToShortDateString
          End If
        End With
      Catch ex As Exception
          Throw
      End Try
    End Sub
    

    【讨论】:

    • 拉尔斯,太棒了。感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 2014-08-29
    • 2013-04-26
    • 1970-01-01
    • 2010-12-27
    • 2012-08-30
    相关资源
    最近更新 更多