private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if ((e.ColumnIndex == CMD_INDEX) && (this.tvControllers.SelectedNode != null)) { KeyCommandPair kcp = m_controller[this.tvControllers.SelectedNode.Text].KeyCommands.Single(r => string.Compare(r.Key, Convert.ToString(this.dataGridView1.Rows[e.RowIndex].Cells[CODE_INDEX].Value), true) == 0); kcp.Command = Convert.ToString(this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value) ?? string.Empty; } }