上次做项目的时候遇到了些问题关于ComboBox的SelectedIndexChanged和SelectionChangeCommitted,调试了老半天,找了老半天的资料,总算是对ComboBox的SelectedIndexChanged和SelectionChangeCommitted有了一定的了解,下面与大家分享下,欢迎大家评论!
MSDN:SelectedIndexChanged是在 SelectedIndex 属性更改后发生,而SelectionChangeCommitted在选定项发生更改并且该更改显示在 ComboBox 中时发生.
简单的说:SelectedIndexChanged是在选择项发生改变时就触发了,而SelectionChangeCommitted是在选择项选择完,且ComboBox显示对应的值之后再触发,
示例程序:首先新建一个Form窗体,窗体上添加一个ComboBox(cmbProjectInfo)
1)绑定cmbProjectInfo
2)为cmbProjectInfo添加两个事件cmbProjectInfo_SelectedIndexChanged及cmbProjectInfo_SelectionChangeCommitted
代码如下:
功能说明:根据cmbProjectInfo的值绑定DataGridView数据
1、绑定cmbProjectInfo,绑定之后ComboBox依次显示abc、bcd(根据数据库)
2、处理SelectedIndexChanged
//程序运行之后系统会提示报错"输入字符串的格式不正确。"这是为什么呢,我在调试程序之后发现了,当你窗体加载绑定cmbProject时,程序就会跳到SelectedIndexChanged这个函数里面来,而这时数据根本就没有绑定上去,所以SelectedVaue选择到的值为空值,因此程序会报错。
3、处理SelectionChangeCommitted事件
使用SelectionChangeCommitted会得到正确的结果如下


结束语:当项目中程序使用到了ComboBox及DataGridView,别且两者要结合起来用时,请大家选择合适的事件!
本文介绍了在Windows Forms应用程序中,ComboBox与DataGridView结合使用时遇到的问题和解决方案,特别是探讨了ComboBox的SelectedIndexChanged和SelectionChangeCommitted事件的区别。文章通过示例代码展示了如何在ComboBox选择项变化时正确绑定DataGridView数据,避免因数据未加载导致的错误。

1956

被折叠的 条评论
为什么被折叠?



