页面放置了 8个 button
name 分别是button1,button2.....button8
现在想用一个for循环  把这八个控件的text值设上。请问这样怎么写代码。

解决方案 »

  1.   

    object[] buttons = new object[] { button1, button2, .... };
    foreach(button b in buttons)
    {
        你的操作;
    }
      

  2.   


                for (int i = 1; i < 9; i++)
                {
                    this.Controls["button" + i].Text = i.ToString();
                }
      

  3.   

    object[] buttons = new object[] { button1, button2, .... }; 
    for(int i=0;i<8;i++)
    {
    button[i]= ...;
     
    }
      

  4.   

    是web还是WinForm啊。web:        protected void Page_Load(object sender, System.EventArgs e)
            {
                setcontrol(this);
            }        void setcontrol(Control c)
            {            foreach (Control cc in c.Controls)
                {
                    if (cc.GetType() == typeof(Button))
                        ((Button)cc).Text = "按钮";
                    if (cc.HasControls())
                    {
                        setcontrol(cc);
                    }
                }
            }
    WinForm        private void Form1_Load(object sender, EventArgs e)
            {
                setcontrol(this);
            }        void setcontrol(Control c)
            {            foreach (Control cc in c.Controls)
                {
                    if (cc.GetType() == typeof(Button))
                        cc.Text = "按钮";
                    if (cc.HasChildren)
                    {
                        setcontrol(cc);
                    }
                }
            }
      

  5.   

    补充下,如果你还需要判断按钮的名字的话,比如必须是叫button1的才给某个text值,只要稍微修改下if语句部分,或者你添加一个switch语句,判断cc.Name(WEB下是cc.ID)即可。