我现在动态创建了多个button了并添加了单击事件 , 在单击事件中我将创建button的那个值传过来了, 以区别点击的是那个按钮。现在我要点击一个按钮时他的背景图片改变, 其他的还是一样。这怎么做啊?谁能告诉我?

解决方案 »

  1.   

    手写了一段动态创建按钮的代码,没测试,你参考一下private Button btnPrev=null; //记录上次点击的按钮
    //动态创建按钮
    private void CreateButton(string name, string text, Image img)
    {
        Button btn=new Button();
        btn.name=name;
        btn.Text=text;
        btn.Image=img;    
        this.Controls.Add(btn);
    } private void button_Click(object sender, EventArgs e)
     {
        Button btn = sender as Button;
        if(btn!=btnPrev)
        {
           btn.Image=imgNew;        //改变当前按钮的背景图片
            if(btnPrev!=null)
           {
              btnPrev.Image=imgOld;  //恢复上次点击的按钮背景图片
           }
           btnPrev=btn;
        }
    }
      

  2.   

    少写了一句代码
    CreateButton方法里要动态加按钮的事件
    btn.Click+=new System.EventHandler(button_Click);
      

  3.   

    我还想问下 若我在加载事件里调用这个 CreateButton()方法, 那怎么获取图片的参数?