VB6中ComboBox控件的缺陷及改进

来源:互联网 发布:商品查询软件 编辑:程序博客网 时间:2024/06/05 05:53

ComboBox控件的Change事件
       众所周知,组合框控件ComboBox实际上是将文本框控件TextBox和列表框控件ListBox的功能结合在了一起。用户既可以通过在组合框中输入文本来确定输入内容,也可以从下拉列表框中选定项目确定输入内容。每当用户修改控件的文本栏(Text属性)中的文本时,ComboBox控件的Change事件就应发生。但实际情况并非如此。

经过反复实验我们得出如下结论:
·ComboBox控件的Style属性值为0或1,并且用户从键盘输入数据改变此框内容或通过代码修改它的Text属性值时,Change事件发生;
·ComboBox控件的Style属性值为0或2,并且用户从其下拉列表框中选取数据项改变ComboBox控件的Text属性值时,Change事件不会发生。

为此,我们提出如下解决办法:
·如果程序中ComboBox控件的Text属性值是由其下拉列表选取来改变的,或由键盘输入和下拉列表两种方法改变,则相应参数的处理工作应放在其Click事件中进行,而不能采用Change事件;
·如果程序中ComboBox控件的Text属性值是由其下拉列表选取来改变,或由代码在程序中改变,或由键盘输入改变,则相应参数的处理工作应放在其Click事件和Change事件中进行,而不能只采用一个事件来处理。因为Click事件能对由键盘输入或下拉列表所做改变作出响应,而Change事件可对由代码或键盘输入所做改变作出响应。