给DataGridView中的控件添加事件和下拉框
2009-03-22 09:17
441 查看
这里以给DataGridView添加下拉框,并当下拉框选项发生变化后给DataGridView的其他列赋值为例: 我要实现的功能如下: 修改Column1的值时,同时自动修改Column2的值,修改Column4的值时同时修改Column3的值,这就需要给两个下拉框添加事件,添加的方式如下: private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { //判断相应的列 if (dataGridView1.CurrentCell.ColumnIndex == 0 && dataGridView1.CurrentCell.RowIndex != -1) { ((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(Form1_SelectedIndexChanged); } //判断相应的列 else if (dataGridView1.CurrentCell.ColumnIndex == 3) { ((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(Form1_SelectedIndexChanged2); } } 然后写相应的触发事件: /// <summary> /// 组合框事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void Form1_SelectedIndexChanged(object sender, EventArgs e) { MessageBox.Show(((ComboBox)sender).Text, "Column1"); dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[1].Value = "safsafasfdsdf"; //做完处理,须撤销动态事件 ((ComboBox)sender).SelectedIndexChanged -= new EventHandler(Form1_SelectedIndexChanged); } void Form1_SelectedIndexChanged2(object sender, EventArgs e) { MessageBox.Show(((ComboBox)sender).Text, "Column4"); dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[2].Value = "12334534634"; //做完处理,须撤销动态事件 ((ComboBox)sender).SelectedIndexChanged -= new EventHandler(Form1_SelectedIndexChanged2); } 就这样就OK了,这里需要注意的是处理完后一定要撤销动态事件,否则会带来很大的麻烦,效果如下 |
相关文章推荐
- DataGridView数据绑定控件---------按钮添加和事件触发总结
- 玩无限消乐的设计示例(基础篇)DataGridView控件添加拖放事件方法和委托
- 怎么给Datagridview里面的控件添加事件
- DataGridView数据绑定控件---------按钮添加和事件触发总结
- DataGridView 在下拉框添加下来事件
- 怎么给Datagridview里面的控件添加事件
- DataGridView单元格ComboBox控件添加事件
- DataGridView数据绑定控件---------按钮添加和事件触发总结
- MFC OCX 控件事件的添加和处理
- dataGridView为单元格动态添加按钮控件
- 动态添加dev CheckEdit控件,以及删除。事件处理
- C# DataGridView控件 动态添加新行
- DataGridViewComboBoxColumn 添加下拉及触发事件
- Repeater控件添加onmouseover和onmouseout事件
- vb.net2005动态添加网页控件的事件
- c#当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行
- 为控件动态添加事件
- 给动态控件添加事件
- iOS开发学习笔记 -- (二)动态添加控件和事件处理
- VC++.NET2005中DataGridView控件中加入下拉框的编程实现