我在窗口上设置了控件ComboBox8 并且设置了几个值 想达到当控件值等于某值时 关闭一些控件不让操作,并执行一些值的计算,但有时可能下拉列表值点错了,得另点击,那么就要清空控件的值,我在以下事件中分别设置了不同的语句,但发现,值可以清空,但是选择着其它控件时,当控件关闭时,以前的值却又重新出现并且以灰色的方式显示了来,发现值并没有清空。请帮看一下是什么原因?在leave 事件中设置:
With e.Form.controls("combobox8")
If .value="信息费" Then
e.Form.controls("NumericComboBox2").Enabled=True '信息费
e.Form.controls("NumericComboBox4").Enabled=False
e.Form.controls("NumericComboBox9").Enabled=False
e.Form.controls("NumericComboBox10").Enabled=False
End If
If .value="订金" Then
e.Form.controls("NumericComboBox4").Enabled=True '到手
e.Form.controls("NumericComboBox2").Enabled=False '信息费
e.Form.controls("NumericComboBox10").Enabled=False '差价
e.Form.controls("NumericComboBox9").Enabled=True '订金
End If
If .value="差价" Then
e.Form.controls("NumericComboBox4").Enabled=True '到手
e.Form.controls("NumericComboBox2").Enabled=False '信息费
e.Form.controls("NumericComboBox10").Enabled=True '差价
e.Form.controls("NumericComboBox9").Enabled=False '订金
End If
If .value="信息费加差价" Then
e.Form.controls("NumericComboBox4").Enabled=True '到手
e.Form.controls("NumericComboBox2").Enabled=True '信息费
e.Form.controls("NumericComboBox10").Enabled=True '差价
e.Form.controls("NumericComboBox9").Enabled=False '订金
End If
If .value="信息费加订金" Then
e.Form.controls("NumericComboBox4").Enabled=True '到手
e.Form.controls("NumericComboBox2").Enabled=True '信息费
e.Form.controls("NumericComboBox10").Enabled=False '差价
e.Form.controls("NumericComboBox9").Enabled=True '订金
End If
End With
在
SelectedIndexChanged
事件中设置
Dim cm As WinForm.ComboBox=e.Form.controls("ComboBox8")
If cm.value IsNot Nothing Then
e.Form.controls("NumericComboBox2").value=""
e.Form.controls("NumericComboBox4").value=""
e.Form.controls("NumericComboBox9").value=""
e.Form.controls("NumericComboBox10").value=""
End If
请问是什么原因?有什么发的方法解决?我试过在
ValueChanged中设置不行。谢谢!