好麻烦啊
看似简单的问题,解决起来真麻烦,上面两位朋友的建议是没有效果的。我把情况再仔细地解释一下:表单初始化时,textBox1获得焦点,dataGrid1的当前行为第一行,表格上方各个控件与数据表进行了绑定,此时显示的是表格中第一行的内容。现在将鼠标移到第一行的行标头上单击,第一行整行被选定,背景为蓝色,前景为白色,这都是默认的属性,DataGrid控件是大家经常接触的,应该了解。当鼠标单击右边的“下一条”按钮时,记录指针向下移动一格,dataGrid1.CurrentRowIndex由0变为1,dataGrid1.CurrentCell也发生了变化,但第一行的蓝色背景是不会动的,除非移到鼠标到dataGrid1的其他任何一处去单击。
所以,“当前行”和“选定行”是两个不同的概念,当前行是记录指针指向的那一行,选定行是鼠标单击行标头选定的行,而SelectionBackColor属性是针对选定行的,鼠标单击“下一条”按钮,当前行发生了改变,但选定行没有变,所以蓝色背景定死在了第一行。CurrentRowIndex指当前行的索引,SelectedRowIndex指选定行的索引,但问题是没有SelectedRowIndex这个属性,否则只要加一行代码就可以了:SelectedRowIndex = CurrentRowIndex,蓝色背景自然跳到当前行了,因为此时当前行和选定行是同一行。
不知哪位大侠能指点迷津,该怎么写代码呢?