大厨教你做控件存放实现代码运行结果
2023-11-26 01:00:56
欢乐点
简云快卖粤菜统设计思路
1,设计界面要有菜单点菜系统,选菜按键,以点菜,单价
2,菜单每样菜都有一个编号点菜系统,金额
3,选菜按键通过菜的编号选择菜
4,每降低一样菜,总金额动态降低
设计界面
这儿使用控件储存
实现代码
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control item in flowLayoutPanel1.Controls)//遍历菜单页面的所有控件
{
Button but = new Button();//实例化按钮
but.Size = new Size(50, 40);
but.Font = new Font("楷体", 20f);
but.Tag = item;//将控件内容放进按钮的tag中
foreach (Control con in item.Controls)//遍历菜单页面中所有控件中的内容
{
if (con.Tag.ToString()=="index")//找出tag设置为index的所有控件,即菜品的编号
{
but.Text = con.Text;//按钮文本等于控件文本,即按钮文本为菜品对应编号
}
}
flowLayoutPanel8.Controls.Add(but);//将实例化的所有按钮放进一个集合里
but.Click += But_Click;//实例化按钮点击事件
}
}
int sum = 0;//设置一个变量存放总收费
private void But_Click(object sender, EventArgs e)
{
Button but_click = (Button)sender;//每个按钮点击实际独立
Label cm = new Label();//实例换label存放菜名
Control conn = (Control)but_click.Tag;//按钮的tag组内容放进实例化的control类型中
foreach (Control item in conn.Controls)//遍历放在实例化的control类型conn中按钮的tag类型中的所有内容
{
if (item.Tag.ToString() == "name")//找到所有tag为name的内容即菜品的名字
{
cm.Text = item.Text;//tag为name的文本放进label中,即label文本为菜品名字
}
if (item.Tag.ToString() == "qian")//找到所有tag为qian的内容,即菜品的价格
{
sum += int.Parse(item.Text);//每找到一次qian,就以前一次相加,即菜品价格的和,总收费
}
}
flowLayoutPanel9.Controls.Add(cm);//将实例化的所有label放进一个集合里
label21.Text = sum.ToString() + "元";//将总收费赋值与label21,即总计金额
}
运行结果
()+“元”;//将总收费形参与,即总计金额
运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200419194623915.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDAyMjM2NQ==,size_16,color_FFFFFF,t_70#pic_center)
免责声明:部分文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快为您处理。
相关文章