动态生成button按钮

在开发食神软件的时候,动态生成按钮式必不可少的!!特别是前台点菜模块!!生成口味按钮,菜的按钮,送单管理员的按钮!!下面的一个生成食品自身是否有口味按钮的例子

  DataSet dsfoodfeel = od.SearchFoodFeel(foodid);
           if (dsfoodfeel.Tables[0].Rows.Count > 0)  //判断自身食品是否有口味
           {
               panel6.Controls.Clear();
               maxPage = ((dsfoodfeel.Tables[0].Rows.Count - 1) / 25) + 1;
               FeelFuncButton[] b = new FeelFuncButton[dsfoodfeel.Tables[0].Rows.Count];
               //绘制【全部】的口味按钮

               for (int j = 0; ((j + (pageNum - 1) * maxNum) < dsfoodfeel.Tables[0].Rows.Count) && (j < maxNum); j++)
               {


                   b[j] = new FeelFuncButton();
                   b[j].Size = new Size(90, 65);
                   if (j < dsfoodfeel.Tables[0].Rows.Count)
                   {
                       maxPage = ((dsfoodfeel.Tables[0].Rows.Count - 1) / maxNum) + 1;

                       b[j].TXT = (dsfoodfeel.Tables[0].Rows[j]["FeelName"].ToString());         //口味按钮名称
                       b[j].Name = (dsfoodfeel.Tables[0].Rows[j]["FeelID"].ToString());
                       Hashtable ht = new Hashtable();//定义一个表
                       ht.Add("Amt", decimal.Parse(dsfoodfeel.Tables[0].Rows[j]["CalcAmt"].ToString()));//把需要的属性增加到表ht中
                       ht.Add("CalcType", dsfoodfeel.Tables[0].Rows[j]["CalcType"].ToString());//把需要的属性增加到表ht中
                       ht.Add("MutexGroup", int.Parse(dsfoodfeel.Tables[0].Rows[j]["MutexGroup"].ToString()));//把需要的属性增加到表ht中
                       ht.Add("Scale", int.Parse(dsfoodfeel.Tables[0].Rows[j]["Scale"].ToString()));//把需要的属性增加到表ht中
                       b[j].Tag = ht;//Tag属性选中的表


                   }
                   if (j % 5 == 0 && j != 0)
                   {
                       k++;
                   }


                   System.Drawing.Point p = new Point(20 + (j % 5) * 110, 15 + k * 70);               //创建一个坐标,用来给按钮定位
                   b[j].Location = p;                                                    //把按钮的位置与刚创建的坐标绑定在一起
                   panel6.Controls.AddRange(b);                                             //向panel中添加此按钮
                   b[j].Click += new System.EventHandler(getfeelbtn_click);                   //将按钮的方法绑定到按钮的单击事件中b.Click是按钮的单击事件
               }

原文地址:https://www.cnblogs.com/zhang123/p/2812255.html