首页 文章

如何在日期选择器中浏览月份时不触发datepicker.valuechanged事件

提问于
浏览
2

我正在使用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)

'在这里做点什么

结束子

问题是每当我点击向左箭头或向右箭头更改月份时,都会触发dptReportDateChanged . 我不希望这种情况发生 . 我想要的是,在找到一个月之后,我双击日期来触发事件 .

非常感谢!

2 回答

  • 0

    试试这个:

    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
    
  • 4

    或者您可以触发CloseUp事件而不是ValueChanged . 这对我来说运作得很好 .

相关问题