在下面的代码中,通过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