如何取得动态控件中的值?
我通过如下方法在界面上循环显示一组textbox
列举其中一个
Dim textbox As New TextBox
textbox.Name = "test " + cstr(i) ''i是循环变量
然后我想在其他方法中取得这些test的textbox中的值
这里的代码该怎么写?
比如我要取test1中的value,直接写test1.text肯定不行,用CType好像也不对
请高手帮忙。
__________________________________________________________________________
反射
__________________________________________________________________________
能具体点吗
__________________________________________________________________________
//添加动态 TextBox
private void button1_Click(object sender, EventArgs e)
{
TextBox tb = new TextBox();
panel2.Controls.Add(tb);//将动态TextBox 放到PANEL2中
}
//拿动态的值
private void button2_Click_1(object sender, EventArgs e)
{
label1.Text = panel2.Controls[0].Text; //动态的值放到label1
}
__________________________________________________________________________
能不要用panel2.Controls[0]这样的形势吗?
我这里的textbox不在同一个panel中,散布于整个form
用这个方法好像比较困难
__________________________________________________________________________
private void button1_Click(object sender, EventArgs e)
{
this.Text = FindControl(this, "textBox1 ").Text;
}
private System.Windows.Forms.Control FindControl(System.Windows.Forms.Control control, string strName)
{
foreach (System.Windows.Forms.Control subControl in control.Controls)
{
if (subControl.Name == strName)
{
return subControl;
}
return FindControl(subControl, strName);
}
return null;
}
__________________________________________________________________________
up
__________________________________________________________________________
这种都是用 容器.FindControl( "控件名 ")
__________________________________________________________________________
我这种问题是用Attributes取的:
tmp.Attributes( "value ")
__________________________________________________________________________
我通过如下方法在界面上循环显示一组textbox
列举其中一个
Dim textbox As New TextBox
textbox.Name = "test " + cstr(i) ''i是循环变量
然后我想在其他方法中取得这些test的textbox中的值
这里的代码该怎么写?
比如我要取test1中的value,直接写test1.text肯定不行,用CType好像也不对
请高手帮忙。
__________________________________________________________________________
反射
__________________________________________________________________________
能具体点吗
__________________________________________________________________________
//添加动态 TextBox
private void button1_Click(object sender, EventArgs e)
{
TextBox tb = new TextBox();
panel2.Controls.Add(tb);//将动态TextBox 放到PANEL2中
}
//拿动态的值
private void button2_Click_1(object sender, EventArgs e)
{
label1.Text = panel2.Controls[0].Text; //动态的值放到label1
}
__________________________________________________________________________
能不要用panel2.Controls[0]这样的形势吗?
我这里的textbox不在同一个panel中,散布于整个form
用这个方法好像比较困难
__________________________________________________________________________
private void button1_Click(object sender, EventArgs e)
{
this.Text = FindControl(this, "textBox1 ").Text;
}
private System.Windows.Forms.Control FindControl(System.Windows.Forms.Control control, string strName)
{
foreach (System.Windows.Forms.Control subControl in control.Controls)
{
if (subControl.Name == strName)
{
return subControl;
}
return FindControl(subControl, strName);
}
return null;
}
__________________________________________________________________________
up
__________________________________________________________________________
这种都是用 容器.FindControl( "控件名 ")
__________________________________________________________________________
我这种问题是用Attributes取的:
tmp.Attributes( "value ")
__________________________________________________________________________