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#