아래 코드에서 datagridview1_RowsAdded
이벤트 처리기의 코드를 통해 선택 후 변경되는 datagridview1_SelectionChanged
이벤트가 발생하면 CurrentRow
속성은 null입니다. 하지만 난 그냥 datagridview1_RowsAdded
처리기에 그것을 설정하고 거기에 null이 아닙니다.DataGridView SelectionChanged 이벤트가 실행되지 않는 이유는 무엇입니까?
그러나 두 줄을 datagridview1_RowsAdded
처리기에 주석 처리하고 마우스를 클릭하여 행을 선택하면 프로그램이 올바르게 작동합니다. 아무도 왜 이것이 일어나고 있는지 말해 줄 수 있습니까?
여기 내 코드입니다 : 당신의 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;
}
}
죄송합니다, 그것은 첫 번째 줄 이후 약간의 오해의 소지가 – armin