Winform 自己做一个checkBox 控件

    #region 在'選取'前面建立全選 CheckBox
            //建立個矩形,等下計算 CheckBox 嵌入 GridView 的位置
            Rectangle rect = dataGridView1.GetCellDisplayRectangle(0, -1, true);
            rect.X = rect.Location.X + rect.Width / 4 + 7;
            rect.Y = rect.Location.Y + (rect.Height / 2 - 9) + 10;
            CheckBox cbHeader = new CheckBox();
            cbHeader.Name = "checkboxHeader";
            cbHeader.Size = new Size(16, 16);
            cbHeader.Location = rect.Location;
            //全選要設定的事件
            cbHeader.CheckedChanged += new EventHandler(cbHeader_CheckedChanged);
            //將 CheckBox 加入到 dataGridView
            dataGridView1.Controls.Add(cbHeader);
            #endregion

   private void cbHeader_CheckedChanged(object sender, EventArgs e)//控件的选择触发的方法
        {
           if(dataGridView1.Rows.Count>0)
           {
               dataGridView1.EndEdit();///结束编辑才能操作
               foreach (DataGridViewRow dr in dataGridView1.Rows)
               {
                   dr.Cells[0].Value = ((CheckBox)dataGridView1.Controls.Find("checkboxHeader", true)[0]).Checked;
               }  
           }
        }

你可能感兴趣的:(Winform 自己做一个checkBox 控件)