datagridview 多行选择的代码实现 替换ctrl+鼠标左键

行绑定一个checkbox  最后提交的时候遍历他们是否为true

单击双击事件都要运行遍历和设置背景色,否则双击偶尔会失灵

 private void dgv_ticket_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex == -1)
            {
                return;
            }
            dgv_ticket.CurrentRow.Selected = false;
            dgv_ticket.CurrentRow.Cells["ck"].Value = !Convert.ToBoolean(dgv_ticket.CurrentRow.Cells["ck"].Value);
            for (int i = 0; i < dgv_ticket.RowCount; i++)
            {
                if (Convert.ToBoolean(dgv_ticket.Rows[i].Cells["ck"].Value))
                {
                    dgv_ticket.Rows[i].DefaultCellStyle.BackColor = SystemColors.Highlight;
                    dgv_ticket.Rows[i].DefaultCellStyle.ForeColor = SystemColors.Window;
                }
                else
                {
                    dgv_ticket.Rows[i].DefaultCellStyle.ForeColor = SystemColors.ControlText;
                    dgv_ticket.Rows[i].DefaultCellStyle.BackColor = SystemColors.Window;
                }
            }
        }

 缺点是效率不高!!

原文地址:https://www.cnblogs.com/goto/p/2768358.html