for(int i=0;i<this.Controls.Count;i++)
{
if(this.panel1.Controls[i].GetType()=System.Windows.Forms.TextBox)
{
TextBox txt=(TextBox)this.Controls[i];
MessageBox.Show(txt.Text);
}
}

解决方案 »

  1.   

    上面的不对,看下面这个:
    for(int i=0;i<this.panel1.Controls.Count;i++)
    {
    if(this.panel1.Controls[i].GetType()=System.Windows.Forms.TextBox)
    {
    TextBox txt=(TextBox)this.panel1.Controls[i];
    MessageBox.Show(txt.Text);
    }
    }
      

  2.   

    先读出控件textbox ,再设置location text 属性,
    依次读出textbox的数据,
    foreach ( Control c in this.panel1.Controls  )
    {
    if( typeof(System.Windows.Forms.TextBox) ==c.GetType())
    {
                               //依次对控件进行操作,
    }
    }
      

  3.   

    你可以先把需要的textbox放大panl中只是设置visiable=false,这样首先可以控制他们的位置。然后在让他们显示的时候,同时调用一个给textbox加栽数据的方法。
      

  4.   

    private void button1_Click(object sender, System.EventArgs e)

    {
    panel1.Controls.Clear();
    for (i=0; i<(n*2); i++) {
    TextBox textBox = new TextBox();
    Label label = new Label();


    if(i%2==0)
    {
    label.Name="x" + "("+ i+")";
    label.Text="x" + "("+ (i/2)+")";
    label.Width=45;} else
    {
    label.Name="y" + "("+ i+")";
    label.Text="y" + "("+ ((i-1)/2)+")";
    label.Width=45; }


    int localY = 25*i;
    int localX = 50 ;

    int localO = 2;
    int localP = 25 *i; label.Location= new Point(localO, localP);
    textBox.Location= new Point(localX, localY);
    panel1.Controls.Add(label);
    panel1.Controls.Add(textBox);
    }
    }

    点击一个按钮button1实现未定的多个textBox在panel1中的加入,然后在n个textBox中人工加入数据,textBox的数据如何取出呢?n个textBox无法定位?刚才说的不明白,现在补充。在panel1上中添加控件后,人工输入数据1 2 3 1..20 30..后怎样取出。x0   1
    y0   2
    x1   3
    y1   1
    .
    .
    xn   20
    yn   30
      

  5.   

    TextBox[] txtbx=new TextBox()[5];
    panel1.controls.addrange(txtbx);//添加textboxTextBox txt=(TextBox)panel1.controls[0];
    string str=txt.text;