当前位置:编程学习 > C#/ASP.NET >>

Winfrom中如何取到自定义控件的值


  /// <summary>
        /// 定位控件
        /// </summary>
        /// <param name="lblBasecontrol">lable的基准位置</param>
        /// <param name="txtBasecontrol">textbox的基准位置</param>
        /// <param name="row">增长变量</param>
        /// <param name="name">lable名称</param>
        /// <param name="panlname">容器名称</param>
        /// <param name="remark">textbox命名规则,根据传入的值命名</param>
        public void LocateControl(Control lblBasecontrol, Control txtBasecontrol, int row, string name, Control panlname,string remark)
        {
            // 创建一个label
            Label label = new Label();
            label.AutoSize = true;
            //在模块下动态添加控件,并显示出来
            label.Text = name + ":";
            TextBox txtbox = new TextBox();
           //动态命名
            txtbox.Name = "txt" + remark;
            txtbox.Width = 181;
           //控件添加
            label.Location = new Point(lblBasecontrol.Location.X, lblBasecontrol.Location.Y + row * 30);
            txtbox.Location = new Point(txtBasecontrol.Location.X, txtBasecontrol.Location.Y + row * 30);
            panlname.Controls.Add(txtbox);
            panlname.Controls.Add(label);
        }

   /// <summary>
        /// 根据用户自定义的信息,绑定字段
        /// </summary>
        public void BindControlByUser(string companyid)
        {
            //获取用户添加的字段集合
            DataTable dt = bll_CompanyLicence.GetCompanyLicenceById(companyid);
            //取出类型以及名称

            int scxk = 1;
            int gmp= 1;
  for (int i = 0; i < dt.Rows.Count; i++)
            {
                string name = dt.Rows[i]["name"].ToString();
                string type = dt.Rows[i]["type"].ToString();
                string remark = dt.Rows[i]["remark"].ToString();
                //根据类型查找最后定位的控件
                if (type.Equals("生产许可证"))
                {
                    LocateControl(label15, cmbSCXK, scxk, name, PanlSCXKZ,remark);
                    scxk++;
                }
     if (type.Equals("GMP证书"))
                {
                    LocateControl(label77, txtGMPCerScope, gmp, name, PanlGMP, remark);
                    gmp++;
                }

            }
        }

代码如上,如何取得我动态生成的TextBox的值 --------------------编程问答-------------------- foreach(Control  c  in  this.Controls)  
  { }遍历取值
--------------------编程问答-------------------- 有没有简单点的啊?我有80几个字段呢 --------------------编程问答-------------------- 关键是获取后绑定字段,
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,