在下面的代碼中,通過datagridview1_RowsAdded
事件處理程序中的代碼更改了選擇後觸發的datagridview1_SelectionChanged
事件,CurrentRow
屬性爲null。但我已經將它設置在datagridview1_RowsAdded
處理程序中,並且它在那裏不爲空。爲什麼DataGridView SelectionChanged事件不會觸發?
但是,如果我在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;
}
}
對不起,問題的標題,它的第一行後有點誤導 – armin 2012-01-02 19:02:39