为for循环建的一组textbox赋值,textbox2需要用到textbox1的值,请问该怎么赋啊?

解决方案 »

  1.   

    不会啊~~~TextBox jihua = Controls["jihua" + (i - a-1).ToString()] as TextBox;
    jihuaAdd.Text = Convert.ToString(Convert.ToInt64(jihua.Text) + Convert.ToInt64(zaitu.Text) - Convert.ToInt64(mao.Text));一直是jihua=null。我C#只学过几天,老师就让做这个,真的不会啊~~~
      

  2.   

    TextBox jihua = Controls["jihua" + (i - a-1).ToString()] as TextBox;Controls["jihua" + (i - a-1).ToString()]  这个有值吗?
      

  3.   


    他的问题在这个帖子:
    http://topic.csdn.net/u/20110528/13/815c0189-5cc5-4ffe-af72-3b69d8f6af25.html
      

  4.   

    我写了点代码,可以完成你的要求,供参考,必须是在同一个窗体        // 创建两组TextBox
            private void button1_Click(object sender, EventArgs e)
            {
                int locX2 = 10;
                for (int i = 0; i < 3; i++)
                {
                    ++i;
                    locX2 += 50;
                    TextBox zaitu = new TextBox();
                    this.SuspendLayout();
                    zaitu.Name = "zaitu" + i;
                    zaitu.Text = i.ToString();
                    zaitu.Size = new Size(50, 12);
                    zaitu.Location = new Point(locX2, 50);
                    Controls.Add(zaitu);
                    --i;
                }
                locX2 = 10;
                for (int i = 0; i < 3; i++)
                {
                    ++i;
                    locX2 += 50;
                    TextBox zaituCopy = new TextBox();
                    this.SuspendLayout();
                    zaituCopy.Name = "zaituCopy" + i;
                    zaituCopy.Text = "未设置";
                    zaituCopy.Size = new Size(50, 12);
                    zaituCopy.Location = new Point(locX2, 100);
                    Controls.Add(zaituCopy);
                    --i;
                }
            }
            // 将第一组TextBox的值复制到第二组
            private void button2_Click(object sender, EventArgs e)
            {
                for (int i = 0; i < 3; i++)
                {
                    ++i;
                    TextBox zaitu = Controls["zaitu" + i] as TextBox;
                    TextBox zaituCopy = Controls["zaituCopy" + i] as TextBox;
                    zaituCopy.Text = zaitu.Text;
                    --i;
                }
            }
      

  5.   

    for (i = a; i < 2*a; i++)
                {
                    ++i;
                    locX4 += this.jihuaAdd.Width + 10;
                    TextBox jihuaAdd = new TextBox();
                    this.SuspendLayout();
                    jihuaAdd.Name = "jihua" + i;
                    this.jihuaAdd.TabIndex = 3 * a;
                    TextBox mao = Controls["mao" + (i - a).ToString()] as TextBox;
                    TextBox zaitu = Controls["zaitu" + (i - a).ToString()] as TextBox;
                    TextBox jihua = Controls["jihua" + (i - a-1).ToString()] as TextBox;
                    if (i - a - 1 == 0) { jihuaAdd.Text = keyong.Text; }
                    if (Convert.ToInt64(jihua.Text) + Convert.ToInt64(zaitu.Text) - Convert.ToInt64(mao.Text) >= Convert.ToInt64(this.anquan.Text))
                    {
                        jihuaAdd.Text = Convert.ToString(Convert.ToInt64(jihua.Text) + Convert.ToInt64(zaitu.Text) - Convert.ToInt64(mao.Text));
                    }
                    else if (Convert.ToInt64(zaitu.Text) + Convert.ToInt64(jihua.Text) - Convert.ToInt64(mao.Text) <= 0)
                    {
                        jihuaAdd.Text = Convert.ToString(Convert.ToInt64(zaitu.Text) + Convert.ToInt64(this.piliang.Text) + Convert.ToInt64(jihua.Text) - Convert.ToInt64(mao.Text));
                    }
                    else
                    {
                        jihuaAdd.Text = Convert.ToString(Convert.ToInt64(zaitu.Text) + Convert.ToInt64(this.piliang.Text) + Convert.ToInt64(jihua.Text) - Convert.ToInt64(mao.Text));
                    }
                    jihuaAdd.Size = new Size(50, 12);
                    
    Convert.ToInt64(jihua.Text){"未将对象引用设置到对象的实例。"}
    i-a-1=0
    对不起,我真的挺笨的~~~