我正在使用vb.net。我按如下方式添加日期选择器
Friend WithEvents dtpReportDate As System.Windows.Forms.DateTimePicker
默认日期选择器有左箭头和右箭头,可让您浏览上个月和下个月。我为日期选择器valuechanged事件添加了一个处理程序:
AddHandler dtpReportDate.ValueChanged, AddressOf dtpReportDateChanged
Private Sub dtpReportDateChanged(ByVal sender As Object,ByVal e As System.EventArgs)
'在这里做点什么
End Sub
问题是每当我点击向左箭头或向右箭头更改月份时,都会触发dptReportDateChanged。我不希望这种情况发生。我想要的是,在找到一个月后,我双击日期来触发事件。
非常感谢!
答案 0 :(得分:4)
试试这个:
Private Sub DateTimePicker1_ValueChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DateTimePicker1.ValueChanged
Me.Text = DateTimePicker1.Value.ToString
End Sub
Private Sub DateTimePicker1_DropDown(ByVal sender As Object, ByVal e As EventArgs) Handles DateTimePicker1.DropDown
RemoveHandler DateTimePicker1.ValueChanged, AddressOf DateTimePicker1_ValueChanged
End Sub
Private Sub DateTimePicker1_CloseUp(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.CloseUp
AddHandler DateTimePicker1.ValueChanged, AddressOf DateTimePicker1_ValueChanged
Call DateTimePicker1_ValueChanged(sender, EventArgs.Empty)
End Sub
答案 1 :(得分:0)
或者您可以触发CloseUp事件而不是ValueChanged。这对我来说足够好了。