1 /// <summary>
 2     /// 给DataGridView添加全选
 3     /// </summary>
 4     public class AddCheckBoxToDataGridView
 5     {
 6         public static System.Windows.Forms.DataGridView dgv;
 7         public static void AddFullSelect()
 8         {
 9             if (dgv.Rows.Count < 1)
10             {
11                 return;
12             }
this.dataGridView1.RowTemplate.Height = 23;
13 System.Windows.Forms.CheckBox ckBox = new System.Windows.Forms.CheckBox();
            ckBox.Text = "全选";
            ckBox.Checked = true;
            System.Drawing.Rectangle rect =
            dataGridView1.GetCellDisplayRectangle(0, -1, true);
            ckBox.Size = new System.Drawing.Size(dataGridView1.Columns[0].Width, 18);
            ckBox.Location =new Point( rect.Location.X+2,rect.Location.Y+2);
            ckBox.CheckedChanged += new EventHandler(ckBox_CheckedChanged);
            dataGridView1.Controls.Add(ckBox);
22 } 23 static void ckBox_CheckedChanged(object sender, EventArgs e) 24 { 25 for (int i = 0; i < dgv.Rows.Count; i++) 26 { 27 dgv.Rows[i].Cells[0].Value = ((System.Windows.Forms.CheckBox)sender).Checked; 28 } 29 dgv.EndEdit(); 30 } 31 }

上面的类第一个方法,是为datagridview表头添加checkbox,第二个方法是全选功能实现。