如何防止CheckBox.Checked的赋值语句引发CheckedChanged事件?

时间:2013-01-30 20:31:27

标签: .net vb.net events controls

给出

    Dim cb As CheckBox = New CheckBox
    AddHandler cb, AddressOf cb_CheckChanged
    cb.Checked = True 

...除了禁用控件之外,如何阻止Checked的分配从提升CheckChanged事件?我在MFC长大,当U S E R改变了控制状态时,事件才被提升。 Softy在想什么?是否真的无法区分用户的事件和我自己的赋值语句中的事件? 糟糕!

1 个答案:

答案 0 :(得分:2)

无论引起事件的事件是什么引发事件都是完全有效的,因为CheckChanged事件只是告诉您Checked属性何时发生了变化。

如果您试图避免无限循环,您必须尝试添加条件:

If Not cb.Checked Then
  cb.Checked = True
End If