×

selectedindexchanged c

selectedindexchanged(在c#中SelectedValueChanged函数和SelectedIndexChanged函数有什么区别)

admin admin 发表于2023-06-23 20:59:01 浏览42 评论0

抢沙发发表评论

本文目录

在c#中SelectedValueChanged函数和SelectedIndexChanged函数有什么区别

这两个函数在设定datasource和displaymember和valuemember时,以及手动改变combobox索引和值时都不触发该事件, 只是在界面选择combobox不同值时触发。
SelectedIndexChanged事件:当 SelectedIndex 属性更改时发生,索引改变时触发。
SelectedValueChanged事件:当 SelectedValue 属性更改时发生,值改变时触发。
还有一个类似的事件处理函数SelectionChangeCommitted,区别:
1、SelectedIndexChanged和SelectedValueChanged可以通过编程的方式更改属性而触发事件,但SelectionChangeCommitted事件必须由用户操作选定选项才能触发。
2、在初始化时(设置源)SelectedIndexChanged和SelectedValueChanged都会被调用,而SelectionChangeCommitted没有这个问题。
3、SelectionChangeCommitted也有一个小问题,当打开下拉菜单,用键盘的上下光标键选择条目后(不用鼠标点击),鼠标点击其他控
件,使焦点转移,此时comboBox的Text属性已改变,SelectedIndex属性也已改变,但这样的操作不会触发
SelectionChangeCommitted事件。结论:SelectionChangeCommitted一定要由鼠标选择才能触发。