c# - 如何处理 ComboBox 的 SelectedIndexChanged 事件?

标签 c# winforms datagridview combobox event-handling

<分区>

我有 DataGridView,其中包含两个 ComboBox 列。 第二个 ComboBox 将根据从第一个 ComboBox 中选择的值填充数据。

如何处理第一个 ComboBoxSelectedIndexChanged 事件。

最佳答案

如果我使用 EditingControlShowing 事件,那么 cb_SelectedIndexChanged 会触发多次,即使用户选择了组合框但没有更改选择。

这对我有用:

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    if (e.ColumnIndex == comboboxColumn.Index && e.RowIndex >= 0) //check if combobox column
    {
        object selectedValue = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
    }
}

//changes must be committed as soon as the user changes the drop down box
private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
    if (dataGridView1.IsCurrentCellDirty)
    {
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}

关于c# - 如何处理 ComboBox 的 SelectedIndexChanged 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11950189/

相关文章:

c# - 一种接口(interface)方法的不同类型实现

c# - 具有 24 小时格式的时间范围

c# - 如何检查用户控件是否在 C# 中的其他控件前面?

c# - 在 DataTable 中查找一行

c# - 如何在 datagridview 的列中的文本框中显示选中复选框的数量?

c# - 使用C#登录网页

c# - 视频时长是应有的两倍

C# OpenFileDialog 存储路径

c# - DataGridViewCheckBoxCell 可以以编程方式接受 CheckState.Inminated,但不能通过单击吗?

c# - DataGridView 中的文本框列