C#简易版的点菜系统

界面设计:控件有flowLayoutPanel,Panel,lable
在这里插入图片描述实现代码的部分:

private void Form1_Load(object sender, EventArgs e)
         {
             this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
             //从整个菜单的盒子中找每一个菜的盒子
             foreach (Control item in flowLayoutPanel1.Controls)
             {
                 //创建对应的按钮
                 Button btn = new Button();
                 //从每一个菜中寻找盒子
                 foreach (Control lb in (item as Panel) .Controls)
                 {
                     //判断标签是index的label则是编号label
                     if (lb.Tag.ToString()=="index")
                     {
                         btn.Text = lb.Text;
                         //再给每个btn添加不同的标签,使用btn的编号作为其标签
                         btn.Tag = btn.Text;
                         //每个菜的盒子也添加上标签,使用盒子中装的这个菜的编号
                         item.Tag = lb.Text;
                     }
                 }
                 btn.Size = new Size(70, 30);
                 flowLayoutPanel2.Controls.Add(btn);
                 //把所对应的按钮装进盒子中
                 btn.Click += Btn_Click;
             }
         }
         //sender:获取事件的发起者
         int Count = 0;
         private void Btn_Click(object sender, EventArgs e)
         {
             //sender本质是Button对象
             string btnIndex = (sender as Button).Tag.ToString();

             foreach (Control item in flowLayoutPanel1.Controls)
             {
                 //判断每个button触发所对应的事件
                 if (item.Tag.ToString()== btnIndex)
                 {
                     foreach (Control lb in ((Panel)item).Controls)
                     {
                         //新生成装菜的名称
                         Label lbName = new Label();
                         if (lb.Tag.ToString()=="Name")
                         {
                             lbName.Text = lb.Text;
                             //lbName.BorderStyle = BorderStyle.FixedSingle;                            
                         }                       
                         lbName.AutoSize = true;
                         flowLayoutPanel3.Controls.Add(lbName);
                         if (lb.Tag.ToString()=="Price")
                         {
                             Count += int.Parse(lb.Text);
                             label33.Text = Count.ToString();
                         }                    
                     }
                 }
             }          
         }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值