В приведенном ниже коде событие datagridview1_SelectionChanged
, которое возникает после изменения выбора с помощью кода в обработчике события datagridview1_RowsAdded
, свойство CurrentRow
имеет значение null. но я только что установил его в обработчике datagridview1_RowsAdded
, и он не равен нулю.
Однако, если я прокомментирую две строки в обработчике datagridview1_RowsAdded
и выберу строку щелчком мыши по любой строке, программа будет работать нормально. Может кто-нибудь сказать мне, почему это происходит?
Вот мой код:
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[1];
dataGridView1.CurrentCell.Selected = true;
}
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow != null)
{
if (dataGridView1.CurrentRow.Index != -1)
{
dataGridView2.Enabled = true;
dataGridView3.Enabled = true;
dataGridView4.Enabled = true;
}
else
{
dataGridView2.Enabled = false;
dataGridView3.Enabled = false;
dataGridView4.Enabled = false;
}
}
else
{
dataGridView2.Enabled = false;
dataGridView3.Enabled = false;
dataGridView4.Enabled = false;
}
}