C#实现简单点餐系统(winform框架)
一、编程思想
- 构思界面并进行设计
- 思考需要用到的控件以及控件需要更改的属性
- 构思将要触发的事件以及部分业务流程
- 通过点击菜品,进行添加,并计算价格
- 界面的美化以及功能的完善
二、编程核心
- 如何获取控件中的内容
- 点击按钮,查找并添加查找的内容
- 添加按钮对应的点击事件
- 如何一次性取出控件中的内容
- 主要用forEach遍历控件
- 数据类型的转换
- 控件Tag属性的使用
- 如何从菜品价格中取出单价
- 显示菜品与计算价格功能的实现
三、实现过程
1、主要用到的控件
- FlowLayoutPanel:处理其组件的布局并在流局中自动排列它们
- Label:为控件提供运行时信息或说明性文字
2、主要设置的属性
- FlowLayoutPanel:BorderStyle(指示面板是否应具有边框)
Fixed3D:3D立体边框
FixedSingle:普通边框
None:无边框
- FlowLayoutPanel、Label:Tag(与对象关联的用户定义数据)
菜名编号:Tag=index
菜名名:Tag=name
菜名价格:Tag=money
四、代码实现
- 窗体加载事件
private void Form1_Load(object sender, EventArgs e){//为窗体添加文本标题this.Text = "陕西美食点餐";//设置窗体居于页面中心显示this.CenterToScreen();//遍历TopDesign中的所有元素//Control:控件类型//采用forEach循环,进行遍历foreach (Control item in TopDesign.Controls){//生成按钮//实例化按钮Button btn = new Button();//设置按钮部分属性//设置其大小btn.Size = new Size(30,30);//设置其字体btn.Font = new Font("楷体", 14F);//设置其背景颜色btn.BackColor = Color.White;//设置其自适应大小btn.AutoSize = true;//将子控件统一添加到btn的Tag中btn.Tag = item;//循环子控件foreach (Control control in item.Controls){//判断tag为菜品编号if (control.Tag.ToString()=="index"){//设置按钮中的文本为菜品编号btn.Text = control.Text;}}//将按钮添加到MiddleDesign中MiddleDesign.Controls.Add(btn);//给按钮添加点击事件btn.Click += Btn_Click;}}
- 定义全局变量
//定义一个记录总价格的变量countint count = 0;//创建一个字符串接收价格string result = "";
- 按钮点击事件
private void Btn_Click(object sender, EventArgs e){//将sender(触发者参数)绑定给按钮Button click_btn = (Button)sender;//将获取的Tag进行类型转换(Control),放入menu控件中Control menu = (Control)click_btn.Tag;//实例化label控件,用来写入菜名Label lab = new Label();//设置Label字体lab.Font = new Font("楷体", 14F);//遍历menu中的所有控件foreach (Control item in menu.Controls){//判断控件标记为nameif (item.Tag.ToString() == "name"){//设置Label中的文本为菜品名称lab.Text = item.Text;}//判断控件标记为moneyif (item.Tag.ToString() == "money"){//遍历item.Text中的所有字符for (int i = 0; i < item.Text.Length; i++){//创建一个字符ch,保存遍历出的每个字符char ch = item.Text[i];//字符为数字if (ch >= '0' & ch <= '9'){//将数字的字符转换成字符串后,赋给resultresult = ch.ToString();}}//数据类型转换,以下两种方法均可// count += int.Parse(item.Text);count += Convert.ToInt32(result);}//将Label添加到BottomDesign中BottomDesign.Controls.Add(lab);//设置结算的价格,并让其显示jiesuan.Text = count + "元";}}
五、运行结果
C#实现简单点餐系统(winform框架)相关推荐
- android简单点餐系统_微信点餐和扫码点餐系统能为商家带来什么?
近几年来,我们去餐厅吃饭的时候可能会发现,很多餐厅都安装扫码点餐系统.和微信点餐系统,相比传统餐饮软件及传统模式,这带来的不只是节省人工.一套系统稳定.功能齐全的微信点餐系统,对餐饮管理而言,能够降低 ...
- eclipse点餐系统的框架
在这里插入代码片@TOC public class Takeout { public static void main(String[] args) { //系统给出几面 welcome(); //点 ...
- [课程设计]Scrum 2.5 多鱼点餐系统开发进度(下单一览页面-菜式添加框架设计)
Scrum 2.5 多鱼点餐系统开发进度 (下单一览页面-菜式添加框架设计) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题 ...
- 基于插件架构的简单的Winform框架(下)
前言 最近事情较多,终于有时间来写完这篇.在上一篇的基础上,本篇文章我们开始着手搭建一个简单的基于插件架构的Winform框架.(其实也就是一个小例子,也是对之前写过的代码的总结) 设计思路 写这个W ...
- (附源码)计算机毕业设计SSM基于框架的点餐系统
(附源码)计算机毕业设计SSM基于框架的点餐系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...
- 基于python下django框架 实现外卖点餐系统详细设计
前言介绍(开发目的和意义) 本课题主要目标是设计并能够实现一个基于Python在线外卖点餐系统,管理员通过后台添加菜品,用户浏览器登录,查看菜品.购买.下单等.根据需求,本系统采用的是BS(Brows ...
- c语言点餐系统感悟,一个简单C语言点餐系统的学习心得
首先附上源代码: 1 #include 2 3 voidmain_munu(){4 //打印主菜单 5 char a[6][20]={"菜单","凉菜",&qu ...
- Java实现简单的KFC点餐系统(未实现可视化)
一.实现功能预览 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动. 5.模拟打印小票的功能(写到文件中). 餐品有: (1)香辣 ...
- 基于springboot框架的校园食堂外卖点餐系统
(1)解决了学生就餐排队时间长的问题. (2)解决电话订餐拥堵的问题. (3)可通过网络付款,更加方便快捷. (4)可以在网络订餐平台上进行菜品推广. (5)可以在网络订餐平台上进行其它相关产品广告的 ...
- 用c语言编写简单的餐厅点餐系统(带后台)
这应该是比较简单的c语言程序了,因为学校c语言结课结的早,我当时才学到结构体指针,所以我就把我当时能运用的知识点全用在这个程序上了.虽说这个程序对当时的我来说是天花板,但是当我继续学习,我逐渐发现这个 ...
最新文章
- 马来西亚拟对打车软件巨头Grab罚款2000万美元
- python如何并发上千个get_用greenlet实现Python中的并发
- 如何在python中显示电脑中的图片-python如何实现多个图片显示在屏幕上?
- 站立会议-2014-04-14
- 常发生的异常有哪些, 如何使用异常?
- SQL Server插入中文数据出现乱码问题
- 大一计算机课实训总结1000字,大一计算机实训报告.doc
- el replace 表达式_EL表达式运算符、常用函数详解
- CodeForces 931C	Laboratory Work 水题,构造
- NOIP2007 count 统计数字
- ftp 服务器 性能,FTP 服务器性能 测试点
- C++:加载图片资源
- pythongoogle.probuf.timestamp_gRPC快速入门(一)——Protobuf简介
- Validator验证
- 40万亿“新基建”来了!程序员的新翻身机会终于也来了!
- Windows系统字体和系统应用字体
- word 插入图片方式
- tp6 使用workerman
- python乘积函数_Python中乘法
- 人工智能-高等数学之导数篇
热门文章
- Error: Cannot find module 'util-deprecate'
- 传感器 | 密度测量系列:1.密度测量的基础知识
- 反编译so库破解so
- 【Java】认识Sring、String的常见操作和StringBuffer 和StringBuilder的区别【字符串详解】
- asp毕业设计——基于asp+access的会员管理系统设计与实现(毕业论文+程序源码)——会员管理系统
- 5个APP自动化测试辅助定位工具,你用过几个?
- 延期年金(deferred annuity)
- 质控三张图 gaochao ards 多个表型写成循环
- 【修真院WEB小课堂】 angular js中的依赖注入是什么?
- 安装、选择-如何制作U盘系统盘以及U盘安装操作系统的方法 -by小雨