给datagridview的下拉框添加valueChange事件

修改datagridview的EditMode属性为EdutOnEnter,否则需要点2次以上才出现下拉框

1.给DataGridView添加EditingControlShowing事件;

2.编辑EditingControlShowing事件:

public void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
DataGridView dgv = sender as DataGridView; //判断相应的列
if (dgv.CurrentCell.GetType().Name == "DataGridViewComboBoxCell" && dgv.CurrentCell.RowIndex != -)
{
//添加下拉事件
(e.Control as ComboBox).SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
}
}

3.定义下拉事件

   public void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox combox=sender as ComboBox; //去掉事件,避免一直触发
combox.Leave+=new EventHandler(combox_Leave); if (combox.SelectedItem != null)
{
//添加你需要处理的代码
}
}

4.添加删除事件

   public void combox_Leave(object sender, EventArgs e)
{
ComboBox combox = sender as ComboBox;
//做完处理撤销动态事件
combox.SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
}

来自 https://blog.csdn.net/a312100321/article/details/25195311

上一篇:HTML页面顶部出现空白部分(#65279字符?)解决办法


下一篇:lucas 定理学习