我如何"取消活动"?

时间:2014-07-27 12:34:21

标签: vb.net visual-studio-2010 events

我有两个DateTimePickers dtpDateFrom dtpDateTo

我已经编写了一个条件语句,如果dtpDateTo通过 ValueChanged 事件早于dtpDateFrom,我会收到一条错误消息,但仍然应用更改。 < / p>

示例:

  1. dtpDateFrom = 7月2日
  2. dtpDateTo = 7月3日
  3. 如果我将 dtpDateFrom 更改为7月4日〜>错误消息+ 未执行7月4日的更改

2 个答案:

答案 0 :(得分:1)

当然它仍然适用。 “VAlueChanged”是什么意思?这意味着它已经改变了。该事件是每个文档hrown POST FACTUM所以异常不会神奇地回滚时间。

关键是要以这样一种方式进行编程,即在更改值之前进行验证和拒绝值。

答案 1 :(得分:0)

尝试对控件使用Validating事件。在您的验证失败的代码中放入e.cancel = true

    Private Sub dtpDateFrom_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles dtpDateFrom.Validating
If dtpDateFrom.Value > dtpDateTo.Value Then
        Messagebox.show("From date must be less than To date")
        e.Cancel = True 'Validation failed.
    End If
End Sub