lbl2SV.Text = txt2SV.Value;
        lbl3SV.Text = txt3SV.Value;
        lbl4SV.Text = txt4SV.Value;
        lbl5SV.Text = txt5SV.Value;
        lbl6SV.Text = txt6SV.Value;
        lbl7SV.Text = txt7SV.Value;
        lbl8SV.Text = txt8SV.Value;
        lbl9SV.Text = txt9SV.Value;
        lbl10SV.Text = txt10SV.Value;
        lbl11SV.Text = txt11SV.Value;
很多这样的写法..有没有什么方法..可以简化他呢..知道的朋友说下..谢谢.

解决方案 »

  1.   

    lbl3SV  用一个for来形成,然后通过一个for  然后强制转换成textbox 来赋值Text 
      

  2.   

    哦 ,你的一个是lable  一个是textbox啊那就把Lable 和textbox 用循环得到字符串,然后转换,赋值
      

  3.   

    foreach (Control oControl in this.Controls)
            {
                if (oControl.GetType == typeof(Label))
                {
                    string name = oControl.ID;
                    ((Label)oControl).Text = ((TextBox)(this.FindControl("txb" + name))).Text;
                }
            }
      

  4.   

    记得给分啊private void button1_Click(object sender, EventArgs e)
            {
                const string LabelName = "label";
                const string TxtBoxName = "textBox";            for (int i = 1; i < 5; ++i)
                {
                    Control[] lbls = this.Controls.Find(LabelName + i.ToString(), false);
                    Control[] txbs = this.Controls.Find(TxtBoxName + i.ToString(), false);                if (lbls.Length == 1 && txbs.Length == 1)
                    {
                        ((Label)lbls[0]).Text = ((TextBox)txbs[0]).Text;
                    }
                }
            }
      

  5.   


    我是在winform上直接加了4个textbox和4个label,名字都是默认的,对于你的情况只需重新构造一下名字就行了“lbl” +i.ToString() +"SV"           
    "txt" +i.ToString() + "SV"
      

  6.   

    this.Controls.Find中 Find点不出来吖.
      

  7.   

    1. 你做的是winfrom么?
    2. 直接写 编译会有错误么?