用DataGridview.Rows[x].Cells[y].Selected=true;不生效。,用dataGridView.GetType().GetMethod("OnCellBeginEdit", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(dataGridView, new object[] { new DataGridViewCellCancelEventArgs(x, y) });还是不生效。。怎么办?好像是因为控件默认选定了下一行或鼠标点中的行的关系,怎么避免?
解决方案 »
- 有关 SerialPort 的两点疑问,求解答!
- C#启动服务异常:消息筛选器取消了调用
- 程序最小化到托盘后,当再次点击运行程序时,弹出已运行程序的主窗口
- 如何整列修改EXCEL的列?
- 怎么判断是TextBox否在两个鼠标坐标间的区域内?
- c# 命令台程序 乱码?
- datagrid的单元被改了会激发什么事件?
- "按扭a"和"按扭b"的点击事件一样,程序该如何写?
- 请问如何将从消息队列的数据流中取出所需要的值类型数据,c#
- 谁能给详细的解释一下Internet Protocol version 6
- C# winform动态加载控件
- 如何用正则批量替换一篇文章中的图片链接地址并保存所有图片链接地址到ArrayList
this.dataGridView1.BeginEdit(false);
比如第一行第二列
this.DataGridView1.CurrentCell =this.DataGridView.Row[0].Cells[1];
樓主為什麼要在CellValueChanged裡調用呢,既然CellValueChanged,那它就已經是編輯了
把这段代码写到Enter事件中就可以了
同样如果不想窗体加载的时候选中第一行的时候也是用同样的方法.
BeginEdit()试过了,不生效,关键是都说了被数据改变后系统自动引发的一系列其它动作(比如说按回车结束编辑状态的会自动跳到下一行,用鼠标结束编辑状态的会自动跳到鼠标点中的那一行)遮盖掉了,现在关键是要跳这些动作再强制下一格进入编辑状态要如何实现,比如说有没有哪些恰当的事件可以利用啊之类的?
结帖。