winForm自定义控件攻略之二

 
winForm 自定义控件攻略之二
——winForm中为DataGrid指定列标题和列宽
 
51长假已经开始了,很多人已经上路或者准备上路——外出旅游了吧,小生祝大家玩得开心,回头可以贴些照片来弊站,借你们的余热暖暖,不至于让这里太冷。
想必另一些朋友已经安排加班了,远游是不行了,不过值得开心的是:银子没少赚吧!
 
记得我们的网站是www.pshf.cn,有你同行,我的世界更精彩。
 
好了,我们言归正传,开始我们的WinForm自定义控件了解,今天给大家切磋一下怎样 DataGrid指定列标题和列宽
我们知道,DataGrid在可编辑状态下双击Cell时我们无从捕捉该双击,原因是焦点落到了Cell里了,而DataGrid没有提供Cell的双击事件。下面我们自己动手为DataGrid增加单击Cell、双击Cell、光标进入Cell事件,如果你愿意,你可以为DataGrid的Cell增加所有TextBox所拥有的事件,因为你可以把DataGrid中的Cell当成一个个的TextBox看。
1 、接《 winForm 自定义控件攻略之二——winForm中为DataGrid增加单元格响应事件 》在自定义的DataGrid中增加如下方法
/// <summary>
        /// 绑定列头(列头名和宽度)
        ///</summary>
        ///<param name="ColumnTxt"> 列头名 </param>
        ///<param name="ColumnWid"> 宽度 </param>
        public void BindColumnTxtWid(string[] ColumnTxt, int[] ColumnWid)
        {
            int ColumnsCount = 0;
            ColumnsCount = (this.DataSource as DataTable).Columns.Count;
            GridColumnStylesCollection gcolStyles = CurrTableStyle.GridColumnStyles;
 
            for (int i = 0; i < ColumnsCount; i++)
            {
                if (i < ColumnTxt.Length)
                {
                    gcolStyles[i].HeaderText = ColumnTxt[i].ToString();
                }
                if (i < ColumnWid.Length)
                {
                    gcolStyles[i].Width = ColumnWid[i];
                    // 设置隐藏列TabStop=false
                    if (ColumnWid[i]==0)
                        ((DataGridTextBoxColumn)gcolStyles[i]).TextBox.TabStop = false;
                }
            }
        }
 
2 、我们界面可如下方式使用,其中RulX.ColumnTxt和RulX.ColumnWid是在规则层(如果分层开发,建议这样做,当然我们也可以在界面层定义)类RulX中定义的数组常量
// 绑定数据网格
            this.dgv.SetDataBinding(ds.Tables[0], "");
            this.dgv.BindColumnTxtWid(RulX.ColumnTxt, RulX.ColumnWid);
 
 
下篇预告:
winForm 自定义控件攻略之三
——自定义Label、TextBox、Button、Group、Combox
winForm 自定义控件攻略之四
——DataGrid中行数据自动帮定到TextBox等编辑控件
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值