当前位置:主页 > 软件编程 > .NET代码 >

C#实现简易点餐功能

时间:2022-11-05 12:22:22 | 栏目:.NET代码 | 点击:

本文实例为大家分享了C#实现简易点餐功能的具体代码,供大家参考,具体内容如下

图示效果

实现过程

1.设计界面
2.设计控件及其属性
3.实现点击事件、显示事件以及运算
4实现功能

代码如下

private void Form1_Load(object sender, EventArgs e)
        {
            // 给FlowLayoutPanel控件添加tag属性,编号为index, 菜名为name,价格为money
            //根据菜品的数量 添加对应的序号按钮
            foreach (Control item in flowLayoutPanel1.Controls)//找到菜单中所有的panel控件
            {   //就是创建Button对象   使用关键new创建对象
                Button btn = new Button(); // 实例化button对象
                // 将每一个子控件赋值给对应按钮的Tag属性
                btn.Tag = item;
                btn.Size = new Size(50, 25);//设置点击按钮的大小
                btn.Font = new Font("宋体", 18F);//设置按钮显示字体及其字体大小
                foreach (Control control in item.Controls)
                {
                    //根据控件的Tag属性值来判断以及获取对应控件中的文本从而设置给btn.Text
                    // 如果Tag为index 那就是编号
                    if (control.Tag.ToString() == "index")
                    {
                        btn.Text = control.Text;
                    }
                }
                flowLayoutPanel2.Controls.Add(btn);
                //加载时显示按钮

                btn.Click += Btn_Click; // 添加点击事件+=
            }

        }
        int count = 0; // 价格金额
        private void Btn_Click(object sender, EventArgs e)
        {
            Button clickBtn = (Button)sender;
            Label lab = new Label();
            //获取菜单中每一个子控件中的菜名与价格
            // 获取到编号按钮对应的菜单子控件
            Control menu = (Control)clickBtn.Tag;
            // 遍历的是菜单中的子控件
            foreach (Control item in menu.Controls)
            {
                if (item.Tag.ToString() == "name")
                {
                    lab.Text = item.Text;
                }
                if (item.Tag.ToString() == "money")
                {
                    //int.Parse(需要转换的字符串)
                    //将字符串转换为数字的方法
                    count += int.Parse(item.Text);
                }
            }
            flowLayoutPanel3.Controls.Add(lab);//(点击事件)显示点击过的菜名
            label18.Text = count + "元";//总共点过菜的金额总和

 }

您可能感兴趣的文章:

相关文章