C#框架winform实现简单点餐系统

本文实例为大家分享了C#框架winform实现简单点餐系统的具体代码,供大家参考,具体内容如下

一、编程思想

1、构思界面并进行设计
2、思考需要用到的控件以及控件需要更改的属性
3、构思将要触发的事件以及部分业务流程
4、通过点击菜品,进行添加,并计算价格
5、界面的美化以及功能的完善

二、编程核心

1、如何获取控件中的内容
2、点击按钮,查找并添加查找的内容
3、添加按钮对应的点击事件
4、如何一次性取出控件中的内容
5、主要用forEach遍历控件
6、数据类型的转换
7、控件Tag属性的使用
8、如何从菜品价格中取出单价
9、显示菜品与计算价格功能的实现

三、实现过程

1、主要用到的控件

  • FlowLayoutPanel:处理其组件的布局并在流局中自动排列它们
  • Label:为控件提供运行时信息或说明性文字

2、主要设置的属性

FlowLayoutPanel:BorderStyle(指示面板是否应具有边框)

Fixed3D:3D立体边框
FixedSingle:普通边框
None:无边框

FlowLayoutPanel、Label:Tag(与对象关联的用户定义数据)

菜名编号:Tag=index
菜名名:Tag=name
菜名价格:Tag=money

四、代码实现

1、窗体加载事件

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;
            }
        }

2、定义全局变量

 //定义一个记录总价格的变量count
        int count = 0;
        //创建一个字符串接收价格
        string result = "";

3、按钮点击事件

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)
            {
                //判断控件标记为name
                if (item.Tag.ToString() == "name")
                {
                    //设置Label中的文本为菜品名称
                    lab.Text = item.Text;
                }
                //判断控件标记为money
                if (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')
                        {
                            //将数字的字符转换成字符串后,赋给result
                            result = ch.ToString();
                        }
                    }
                    //数据类型转换,以下两种方法均可
                    // count += int.Parse(item.Text);
                    count += Convert.ToInt32(result);
                }
                //将Label添加到BottomDesign中
                BottomDesign.Controls.Add(lab);
                //设置结算的价格,并让其显示
                jiesuan.Text = count + "元";
            }
        }

五、运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#实现简单点餐系统

    本文实例为大家分享了C#实现简单点餐系统的具体代码,供大家参考,具体内容如下 实现简单点餐系统剖析 1.设计界面(给菜品的序号(index),名称(name),单价(money)加上Tag以便获取此控件中的数据).设计界面所涉及到的控件(FlowLayoutPAnel,label,button) 2.根据菜品数量来添加对应的菜品序号按钮(有几个菜品添加几个按钮)(用到foreach遍历循环) 3.通过2个foreach遍历控件来获取菜品的序号并将菜品的序号添加到按钮中 4.添加按钮单击事件(代码

  • C#实现一个控制台的点餐系统

    本文实例为大家分享了C#点餐系统的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 控制台操作尝试 { class Program { static void Main(string[] args) { int price = 0; Console.WriteL

  • C#实现在线点餐系统

    这个是C#大作业,写作业很用心,写了很久,所以留存一下.不是现在的是之前的的期末作业,现在才想着整理一下 实现功能: 1.商家登录:客户的登录.注册. 2.商家界面实现了对菜单的增.删.改.查:还有订单的查看.查询.结账(删除订单).查看已结账订单.关闭:退出系统. 3.用户界面实现了菜单的查看,查询,新建订单,选择餐桌,保存订单,增加菜品,退出. C#语言实现在线点餐系统,具体功能如下图 登录界面 using System; using System.Collections.Generic;

  • C#框架winform实现简单点餐系统

    本文实例为大家分享了C#框架winform实现简单点餐系统的具体代码,供大家参考,具体内容如下 一.编程思想 1.构思界面并进行设计 2.思考需要用到的控件以及控件需要更改的属性 3.构思将要触发的事件以及部分业务流程 4.通过点击菜品,进行添加,并计算价格 5.界面的美化以及功能的完善 二.编程核心 1.如何获取控件中的内容 2.点击按钮,查找并添加查找的内容 3.添加按钮对应的点击事件 4.如何一次性取出控件中的内容 5.主要用forEach遍历控件 6.数据类型的转换 7.控件Tag属性的

  • Java实现简单点餐系统

    用Java实现简单点餐系统,供大家参考,具体内容如下 程序控制分析: 1.欢迎页循环:do-while2.Scanner 控制输入3.选择页循环:switch-case 要求: 订单信息:String 二维数组序号.姓名.餐品名称.份数.价格.总价.地址.时间(10-20).状态(已预定.已完成).热度(int型) 签收订单:改变订单状态,已预定可以签收,如果已经完成则不能再次签收. 删除订单:不能删除未完成订单,序号要随之改变. 我要点赞:对相应的餐品点赞,并展示. package Pract

  • C#实现简单的点餐系统

    本文项目为大家分享了C#实现点餐系统,供大家参考,具体内容如下 项目介绍:一家店铺使用的外卖点餐系统本项目分三大模块:登录注册模块,用户模块,店家模块 1.登录注册模块 登录分为用户登录和管理员登录(店家),管理员有且只有一个账号可以登录.用户登录需要先注册,注册必须用手机号注册. 登录界面效果图 登录主要就是判断,多加些判断就行了 登录代码展示: #region 窗体效果         public class Win32         {             public const

  • C语言实现简单餐饮管理与点餐系统

    本文实例为大家分享了C语言实现餐饮管理与点餐系统的具体代码,供大家参考,具体内容如下 /*     项目名称:南航餐饮管理系统     组员:梁文新,刘青林,刘艺,施瑞文(组长) */     //当注册用户名为:root,密码为:root的账号时,系统默认为初始管理员   //头文件  #include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> #include<wi

  • 基于jsp+servlet实现的简单博客系统实例(附源码)

    本文实例讲述了基于jsp+servlet实现的简单博客系统.分享给大家供大家参考.具体如下: 没有用框架写的 小博客, 代码大量重复. 个人感觉重复代码对于新手还是有好处的,我也是新手,见谅. 完整实例代码点击此处本站下载. 1. servlet /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Servlet; import blog.

  • Mybatis框架搭建与简单查询详解

    JAVA中,操作数据库有JDBC.hibernate.Mybatis等技术,今天整理了下,来讲一讲下Mybatis.也为自己整理下文档: hibernate是一个完全的ORM框架,是完全面向对象的.但是由于全部都是以对象的形式来操作数据库,sql代码都是由框架自动生成,可操作性和灵活性比较Mybatis都要差一些.所以,Mybatis慢慢的变成多数开发的标准配置: 一.myBatis框架建设 myBatis的整体框架结构如下图所示,按照下图的工程原样建立即可(其中jar包在文章末尾提供) 二.编

  • Yii框架ACF(accessController)简单权限控制操作示例

    本文实例讲述了Yii框架ACF(accessController)简单权限控制操作.分享给大家供大家参考,具体如下: use yii\filters\AccessControl; class SiteController extends Controller { public function behaviors() { return [ 'access' =>[ 'class' => AccessControl::className(), 'rules' => [ [ 'allow'

  • java实现可视化界面肯德基(KFC)点餐系统代码实例

    一.题目 使用java实现可视化KFC点餐系统. 二.题目分析 根据java中的用户图形界面包中的各个类设计界面.利用JFrame提供最大的容器,然后设计各个面板,各个面板中添加所需要的组件,本程序中需要对按钮组件添加监听者,当按下按钮之后做出相应的相应. 对于程序运行显示的第一个界面由一个继承于JFrame的类run类在构造函数中设计并通过函数setVisible(true)显示在界面上,界面上有一个按钮"点餐饮",当此按钮按下时触发响应函数,进入点餐界面,然后通过点击点餐界面各食物

  • Sanic框架安装与简单入门示例

    本文实例讲述了Sanic框架安装与简单用法.分享给大家供大家参考,具体如下: Sanic是一个类似Flask的Python 3.5+ Web服务器,它的写入速度非常快.除了Flask之外,Sanic还支持异步请求处理程序.这意味着你可以使用Python 3.5中新的闪亮的异步/等待语法,使你的代码非阻塞和快速. 前言:Sanic最低支持Python 3.5,如果需要学习Sanic,请先下载版本不低于3.5的Python包 安装Sanic pip3 install sanic 注意:Sanic暂时

随机推荐