我用代码生成了10个按钮
Button[] btns = new Button[9];
for ( int i = 0; i<9; i++)
{
    btns[i] = new Button();
    btns[i].Location = new System.Drawing.Point(100,100);
    btns[i].Name = "";
    btns[i].Size = new System.Drawing.Size(48,48);
    btns[i].Text = i.toString();
    this.Controls.Add(btns[i]);
}
请问怎样给这些按钮分别指定不同的点击事件呀??
请写写代码谢谢了!

解决方案 »

  1.   

    switch (i)
    case 1:
    btns[i].OnClick += (TAB键) (Button1_Click);
    break;
    case 1:
    btns[i].OnClick += (TAB键) (Button2_Click);
    break;
    ....
      

  2.   

    switch (i)
    case 1:
    ==========>
    case 0:
      

  3.   

    请问这段代码放在那里呀(TAB键)是什么意思呀!?请把完的整的代码贴下好吗?
    ===================================
    switch (i)
    case 1:
    btns[i].OnClick += (TAB键) (Button1_Click);
    break;
    case 1:
    btns[i].OnClick += (TAB键) (Button2_Click);
    break;
    ....
    ================================================
      

  4.   


    循环中加上
                    btns[i].Click += new EventHandler(Button_Click);
    事件处理
            void Button_Click(object sender, EventArgs e)
            {
                Button b = (Button)sender;
    //根据按钮的文本(或名称)来判断,以进行相应处理
                switch (b.Text)
                {
    ...处理程序
                }
            }
      

  5.   

    输入 += 后系统会提示你按下Tab键自动加入代码,并选中一段代码,把选中的代码改为Button1_Click就行了
      

  6.   

    完整代码
    Button[] btns = new Button[9];
    for ( int i = 0; i<9; i++)
    {
        btns[i] = new Button();
        btns[i].Location = new System.Drawing.Point(100,100);//你把所有按钮放在同一位置吗?->btns[i].Location = new System.Drawing.Point(100,100+ i*60);//    btns[i].Name = "";
        btns[i].Size = new System.Drawing.Size(48,48);
        btns[i].Text = i.toString();
    btns[i].Click += new EventHandler(Button_Click);    this.Controls.Add(btns[i]);
    }        void Button_Click(object sender, EventArgs e)
            {
                Button b = (Button)sender;
    //根据按钮的文本(或名称)来判断,以进行相应处理
                switch (b.Text)
                {
    //...处理程序
    //ex:
                 case "1":
    break;
                }
            }
      

  7.   

    我用代码生成了10个按钮
    Button[] btns = new Button[9];
    =====================
    怎么只有9个?btns[i].OnClick 
    ===========
    应该是btns[i].Click,写成delphi代码了
      

  8.   

    Cnapollo(旁痞) ( ) 的方法比较好!
      

  9.   

    btns[i].Click += new EventHandler(btnKind_Click);       private void btnKind_Click(object sender, EventArgs e)
            {
                string strbtnName = ((Button)sender).Name.ToString();
                switch (strbtnName)
                {
                    case "btnKind1": axMSChart.chartType = MSChart20Lib.VtChChartType.VtChChartType3dLine; break;
                    case "btnKind2": axMSChart.chartType = MSChart20Lib.VtChChartType.VtChChartType2dLine; break;
                    case "btnKind3": axMSChart.chartType = MSChart20Lib.VtChChartType.VtChChartType3dBar; break;
                    case "btnKind4": axMSChart.chartType = MSChart20Lib.VtChChartType.VtChChartType2dBar; break;
                    case "btnKind5": axMSChart.chartType = MSChart20Lib.VtChChartType.VtChChartType2dPie; break;
                    case "btnKind6": axMSChart.chartType = MSChart20Lib.VtChChartType.VtChChartType2dStep; break;
                    case "btnKind7": axMSChart.chartType = MSChart20Lib.VtChChartType.VtChChartType3dStep; break;
                }
            }
      

  10.   

    多谢各位!!特别是Cnapollo(旁痞) 兄!!!如果是给按钮指定不同的背景图片要怎样写呀~~还有就是当按钮1列有5个的时候代码是怎样写的呀~~~谢谢大家了!解决了马上结贴
      

  11.   

    为什么BackgroundImage 属性没有具体图片地址的呀this.button1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button1.BackgroundImage")));
      

  12.   

    为什么BackgroundImage 属性没有具体图片地址的呀this.button1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("button1.BackgroundImage")));
    -> 
               button1.BackgroundImage = Image.FromFile(@"D:\picture\knitting\about.bmp");还有就是当按钮1列有5个的时候代码是怎样写的呀~~~谢谢大家了!解决了马上结贴
    ->这个应该不算问题吧,就相当于一个分页的概念
      

  13.   

    Cnapollo(旁痞)哥提供代码参考下吧!!
    我是新手来的!!谢谢了
      

  14.   

    竖着放2列,一列5个btns[i].Location = new System.Drawing.Point((imod2 +1)*100,(i/2)*60);//
      

  15.   

    大家顺手去顶下我的帖子,3Q~.
    http://community.csdn.net/Expert/topic/4922/4922798.xml?temp=.3221857