动态添加dev CheckEdit控件,以及删除。事件处理

 //删除原有动态生成的控件,原本这个容器中只有4个控件,其他的都是动态生成。如后期有添加控件,这里的4应做修改
            int count = navBarGroupControlContainer4.Controls.Count-4;
            for (int j = 0; j < count; j++)
            {
                navBarGroupControlContainer4.Controls.RemoveByKey(String.Format("RE{0}", j));
            }
            //更新格式checkEdit
            if (this.printModule.GetReportFormat(nIndex).GetSettingCount() > 0)
            {//动态添加 
                for (int i = 0;i<this.printModule.GetReportFormat(nIndex).GetSettingCount();i++)
                {
                    DevExpress.XtraEditors.CheckEdit RecordEdit = new DevExpress.XtraEditors.CheckEdit();
                    RecordEdit.Parent = this.navBarGroupControlContainer4;//绑定到容器,不然不显示的
                    RecordEdit.Checked = this.printModule.GetReportFormat(nIndex).GetSetting(i);
                    RecordEdit.Text = this.printModule.GetReportFormat(nIndex).GetSettingString(i);

                    RecordEdit.Location = new Point(5, memoReport.Bottom + 19 * i+10);
                    RecordEdit.Size = new System.Drawing.Size(183, 19) ;                                   
                    RecordEdit.Visible = true;                   
                    RecordEdit.CheckedChanged += new System.EventHandler(this.ReportEdit_CheckedChanged);
                    RecordEdit.Name = String.Format("RE{0}", i);//做好标记,以便删除和事件处理
                }

            }
   private void ReportEdit_CheckedChanged(object sender, EventArgs e)
        {
            int nIndex = this.printModule.SelReportIndex;
            string name = ((DevExpress.XtraEditors.CheckEdit)sender).Name;
            bool b = ((DevExpress.XtraEditors.CheckEdit)sender).Checked;
            int index = System.Int32.Parse(name.Trim(("RE").ToCharArray()));根据动态创建的时候做的标记,获得隐藏在上面的Index
            this.printModule.GetReportFormat(nIndex).WriteSetting(index, b);
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值