C#正确实现DataGridView中复选框(CheckBox)全选和反选
曾经以为直接修改Value值即可,但是试过的朋友都会知道,当鼠标选中某一个复选框所在的单元格的时候我们进行全选和反选这个单元格是不受影响的,也就是说比如有10行数据,我们选中了其中一行的复选框所在单元格再进行全选的话只能影响到9行。原因是没有结束状态的单元格是不受其他操作影响的,也就是其他操作对他无效,所以只要手动结束他的编辑状态就可以了。
原作者链接

private void 全选AltAToolStripMenuItem_Click(object sender, EventArgs e) { if (dataGridView1.Rows.Count > 0) { dataGridView1.EndEdit();//停止编辑状态 foreach (DataGridViewRow row in dataGridView1.Rows) { row.Cells[0].Value = true; } } } private void 反选CtrlFToolStripMenuItem_Click(object sender, EventArgs e) { if (dataGridView1.Rows.Count > 0) { dataGridView1.EndEdit();//结束编辑状态 foreach (DataGridViewRow row in dataGridView1.Rows) { row.Cells[0].Value = !(true.Equals(row.Cells[0].Value)); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」