辉耀应用程序框架学习网

 辉耀应用程序框架学习网

关于本站

辉耀应用程序框架学习网致力于企业管理信息系统应用框架和开发实战,努力为中小企业和软件开发人员提供成熟的产品级框架。

HYAppFrame是一款基于Winform的应用程序框架,包含服务器Web Service、主程序框架、组织架构、权限控制、菜单导航、基础数据、系统参数、日志管理、定时任务、工作流引擎等。

地址:sourceforge.net

帐号:admin密码:123456

联系我们

HYAppFrame项目QQ群:
454986318

读者QQ群:
551444042

博客:CSDN

技术交流:百度贴吧

PDF有效期设置

新书推荐

31天学会CRM项目开发

为DataGridView列标题增加复选框

通过CellPainting方法在列标题区域绘制复选框,为DataGridView列标题增加复选框。效果图如下:

为DataGridView列标题增加复选框

详细代码如下:

  C# Code
1. //======================================================================
2. //        《31天学会CRM项目开发》机械工业出版社 版权所有 (C) 2015-2016
3. //        文件名:Form1.cs
4. //        随书附赠源代码,若转发需保留版权信息。
5. //        社区支持:http://www.huiyaosoft.com/
6. //        读者QQ群:551444042
7. //======================================================================
8. using System;
9. using System.Collections.Generic;
10. using System.ComponentModel;
11. using System.Data;
12. using System.Drawing;
13. using System.Linq;
14. using System.Text;
15. using System.Windows.Forms;
16. namespace DataGridViewCheckBox
17. {
18.     public partial class Form1 : Form
19.     {
20.         // 创建一个DataGridView实例
21.         private DataGridView dgv = new DataGridView();
22.         // 创建一个CheckBox实例
23.         private CheckBox userEnabled = new CheckBox();
24.         public Form1()
25.         {
26.             InitializeComponent();
27.         }
28.         private void Form1_Load(object sender, EventArgs e)
29.         {
30.             // 绑定CheckBox发生勾选操作时的事件
31.             userEnabled.CheckedChanged += userEnabled_CheckedChanged;
32.             // 重绘dgv的CellPainting方法,在列标题出绘制复选框
33.             dgv.CellPainting += dgv_CellPainting;
34.             this.dgv.AllowUserToResizeRows = false;
35.             this.dgv.AllowUserToResizeColumns = true;
36.             this.dgv.Dock = DockStyle.Fill;
37.             // 添加三列
38.             this.dgv.Columns.Add("UserName""UserName");
39.             // 添加复选框列
40.             this.dgv.Columns.Add(new DataGridViewCheckBoxColumn());
41.             this.dgv.Columns[1].HeaderText = "Enabled";
42.             this.dgv.Columns[1].HeaderCell.Style.Alignment 
43.                 = DataGridViewContentAlignment.MiddleRight;
44.             this.dgv.Columns.Add("Age""Age");
45.             // 插入演示数据
46.             for (int i = 1; i <= 3; i++)
47.             {
48.                 this.dgv.Rows.Add("Name" + i.ToString(), 0, i.ToString());
49.             }
50.             this.userEnabled.Visible = false;
51.             this.userEnabled.Text = "";
52.             // 向Form1窗体增加这两个实例
53.             this.Controls.Add(dgv);
54.             this.Controls.Add(userEnabled);
55.         }
56.         private void userEnabled_CheckedChanged(object send, System.EventArgs e)
57.         {
58.             for (int i = 0; i <= this.dgv.RowCount - 1; i++)
59.             {
60.                 this.dgv.Rows[i].Cells[1].Value = this.userEnabled.Checked ? 1 : 0;
61.             }
62.         }
63.         private void dgv_CellPainting(object sender, 
64.             System.Windows.Forms.DataGridViewCellPaintingEventArgs e)
65.         {
66.             if (e.RowIndex == -1 && e.ColumnIndex == 1)
67.             {
68.                 // 在指定列显示userEnabled实例
69.                 Point p = this.dgv.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true).Location;
70.                 p.Offset(this.dgv.Left +5, this.dgv.Top + 5);
71.                 this.userEnabled.Location = p;
72.                 this.userEnabled.Size = new Size(15, 15);
73.                 this.userEnabled.Visible = true;
74.                 this.userEnabled.BringToFront();
75.             }
76.         }
77.     }
78. }

演示实例源码,点击下载

友情链接

Excel 网络函数库 | Excel 学习网 | 血战31天 | 刘政道 | 图标素材 IconArchive | Easy UI Demo | PrimeFaces

© 2015 - 辉耀应用程序框架学习网 - 鲁ICP备15007436号