C#DataGridView中ComboBox下拉更改事件
C# DataGridView 中 ComboBox 下拉更改事件 在 C# 开发中,DataGridView 控件是应用非常广泛的控件之一。然而,在使用 DataGridView 控件时,如何在单元格中添加按钮、下拉菜单,并且添加事件和事件处理则是许多开发者头疼的问题。下面,我们将详细介绍在 C# DataGridView 中 ComboBox 下拉更改事件的实现。 在 DataGridView 中,添加 ComboBox 下拉菜单后,如何捕捉下拉更改事件是一个非常重要的问题。下拉更改事件可以帮助我们实现班级下拉选择后自动刷新班主任和名次的功能。 实现下拉更改事件的步骤: 1. 在 DataGridView 中添加一个 ComboBox 列,类型为 DataGridViewComboBoxColumn。 2. 在 Form 的加载事件中,添加行数据,并设置 ComboBox 的Items 集合。 3. 在 EditingControlShowing 事件中,判断当前编辑的列是否为 ComboBox 列,如果是,则获取当前编辑的 ComboBox 控件,并添加 SelectedIndexChanged 事件。 4. 在 SelectedIndexChanged 事件中,根据当前选中的班级,自动刷新班主任和名次。 Demo 代码: ```csharp private void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { //判断相应的列 if (dgv.CurrentCell.ColumnIndex == 1 && dgv.CurrentCell.RowIndex !=-1) { gv_bjType = e.Control as ComboBox; //每次注册事件的时候先移除事件,避免不断被递归调用 gv_bjType.SelectedIndexChanged -= new EventHandler(gv_bjType_SelectedIndexChanged); gv_bjType.SelectedIndexChanged += new EventHandler(gv_bjType_SelectedIndexChanged); } } private void gv_bjType_SelectedIndexChanged(object sender, EventArgs e) { switch (gv_bjType.Text) { case "计应 091 班": dgv[2, dgv.CurrentCell.RowIndex].Value = "1 班老师"; dgv[3, dgv.CurrentCell.RowIndex].Value = "第一名"; break; case "计应 092 班": dgv[2, dgv.CurrentCell.RowIndex].Value = "2 班老师"; //... } } ``` 在上面的代码中,我们首先在 EditingControlShowing 事件中判断当前编辑的列是否为 ComboBox 列,如果是,则获取当前编辑的 ComboBox 控件,并添加 SelectedIndexChanged 事件。在 SelectedIndexChanged 事件中,我们根据当前选中的班级,自动刷新班主任和名次。 在 C# DataGridView 中实现 ComboBox 下拉更改事件需要通过在 EditingControlShowing 事件中添加 SelectedIndexChanged 事件,并在 SelectedIndexChanged 事件中根据当前选中的班级,自动刷新班主任和名次。
- shuidouhui2015-03-19下载后,看了,可以参考!
- qq_337836982019-10-17感觉还可以
- mmlh0097192016-02-14有效果,可以参考一下
- mjzxlmg2015-01-03下载之后试了一下,有一定的参考价值
- likaikk2021-04-28垃圾东西浪费积分
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助