8餐馆管理系统.pptx
- 文档编号:15262117
- 上传时间:2023-07-03
- 格式:PPTX
- 页数:41
- 大小:2.61MB
8餐馆管理系统.pptx
《8餐馆管理系统.pptx》由会员分享,可在线阅读,更多相关《8餐馆管理系统.pptx(41页珍藏版)》请在冰点文库上搜索。
C#项目-餐饮管理系统,软件工程系危孟君,项目展示项目展示思考的问题
(1)主窗体的界面应该如何呈现
(2)窗体初始化,窗体参数(3)父子窗体之间参数的传递,主目录,系统功能结构系统业务流程数据库设计登陆模块设计主窗体设计开台模块设计点菜模块设计结账模块设计,1、系统功能结构,2、系统业务流程,3、数据库设计在开发餐饮系统之前,分析该系统的数据量,由于系统管理餐饮方面的数据较多,商品信息,消费信息、以及账目清单会占用较大的空间,因此选择SQLSERVER2000数据库存储这些信息,数据库命名为db_Mrcy,在数据库中创建5个数据表用于存储不同的信息。
1、数据表tb_food,2、数据表tb_foodtype,3、数据表tb_guestfood,4、数据表tb_room,5、数据表tb_user,新增知识:
ImageList控件
(1)ImageList控件提供了一个集合,可以用于存储在窗体的其他控件中使用的图像。
可以在图像列表中存储任意大小的图像,但在每个控件中,每个图像的大小必须相同。
ImageList是一个在运行期间不显示它本身的控件。
在把它拖放到正在开发的窗体上时,它并不是放在窗体上,而是放在它的下面,其中包含所有的组件。
这个功能可以防止不是用户界面一部分的控件妨碍窗体设计器。
这个控件的处理方式与其他控件相同,但不能移动它。
可以在设计和运行期间给ImageList添加图像。
如果知道在设计期间需要显示哪些图像,就可以单击Images属性右边的按钮,添加这些图像。
新增知识点2:
listView控件ListView控件可用4种不同视图(详细资料、大图标、列表、小图标)中的一种显示一些项的集合,ListView控件的外观与Windows资源管理器的文件列表外观相似。
列表视图通常用于显示数据,用户可以对这些数据和显示方式进行某些控制。
还可以把包含在控件中的数据显示为列和行(像网格那样),或者显示为一列,或者显示为图标表示。
listView常用属性
(1),listView常用属性
(2),listView常用属性(3),方法Clear:
从控件中移除所有项的内容。
方法DragDropEffectsDoDragDrop(objectdata,DragDropEffectsallowEffects):
开始拖放操作,参数data是要传送的数据,可以是String、Bitmap、IDataObject、Metafile类的对象,或者是实现序列化的数据等。
参数2确定哪些拖动操作可以发生,可以是DragDropEffects.Copy、All、Link、Move、None、Scroll。
事件ItemDrag:
鼠标开始拖动产生的事件。
事件DragEnter:
鼠标进入拖动目的控件产生的事件。
事件DragDrop:
鼠标进入拖动目的控件,并抬起鼠标产生的事件。
事件SelectedIndexChanged:
当列表视图控件中选定的项的索引更改时发生。
窗口load事件和activated事件的区别load为加载窗体时的操作,activated是将该窗体设为当前活动窗体时候的操作(就是将窗体显示在最前面。
),餐饮管理系统
(2)本次课知识点和学习目标登陆模块主窗体模块可变菜单状态栏(statusStrip)快捷菜单(contextMenuStrip),4、登录模块为了使系统的安全性各到保障,大多数系统都开发登录模块。
只有通过登陆模块,才能对登录用户进行验证,只要系统的合法用户服务才可以进入系统的主界面。
这也是设计管理系统软件之前,必须考虑的问题,整个登陆模块的实现过程非常简单。
相信大家会很快掌握。
登陆界面示例,在餐饮管理系统中主窗体模块是由3部分组成的。
第一部分是位于主窗体模块上端的系统菜单,主要实现链接系统功能菜单。
第二部分是位于主窗体模块中间的桌台显示,主要用于显示餐厅中所有的桌台情况,包括桌台是否已使用、已使用桌台的客人数量等信息,方便用户对桌台的管理;第三部分是位于主窗体模块下端的状态栏,主要用于显示系统当前状态信息。
5、主窗体模块,主窗体截图,5.1、StatusStrip(状态栏),StatusStrip控件用作窗体中的一块区域,通常显示在窗口的底部,应用程序可在该区域中显示各种状态信息,StatusStrip控件上可以有状态栏面板,用以显示指示状态的文本或图标,通过将ShowPanels属性设置为false,并将状态栏的Text属性设置为希望出现在状态栏中的文本,可在状态栏中显示一个消息,1、向状态栏添加面板StatusStrip控件内的可编程区域由StatusBarPanel类的实例组成,添加这些实例的方式是:
(1)在设计时通过StatusStripPanel集合编辑器
(2)在运行时通过向StatusStripPanelCollection类进行添加2、确定单击了哪一个面板若要通过对StatusStrip控件进行编程来响应用户的单击操作,可以使用PanelClick事件中的SelectCase语句该事件包含一个参数(面板参数),该参数包含对单击的StatusStripPanel对象的引用使用该引用可以确定单击的面板的索引,从而可以相应地进行编程,快捷菜单(ContextMenu)使用过Word程序的人都知道,在Word程序窗口的不同位置单击右键,会出现不同弹出菜单,这个弹出菜单叫快捷菜单。
接下来介绍如何为应用程序增加快捷菜单。
快捷菜单和主菜单的属性、事件和方法基本一致,只是快捷菜单没有顶级菜单项,因此这里就过多介绍了。
餐饮管理系统(3)本次课知识点和学习目标开台模块点菜模块可变快捷菜单目录树(TreeView)控件数据列表(dataGridView)控件数据集(DataSet)数据表(DataTable),6、开台模块设计当顾客要进行消费的时候,首先要看一下是否还有可用的桌台。
如果还有空闲的桌台,那么就要为顾客开台,只有要开台之后,才能为顾客点菜、查询和结账。
所以开台模块在整个系统工程中是非常重要的。
简单开台界面,C#中KeyData、KeyCode、KeyValue和KeyChar的区别KeyCode最为常用,记录了键盘上按了哪个键,当使用组合键时如ctrl+a,其值是A;KeyValue则是KeyCode的数字值,当使用组合键时如ctrl+a时,其值为65(A),注意不是97(a);KeyData可以记录组合键,当使用组合键时如ctrl+a时,其值为A,ctrl;注意:
这三个属性对于字母键只记录其大写的值(不管你是否开启了caplock或是按下shift键),如果一定要区分到底是大小写,可以使用KeyChar来判断。
KeyPress和KeyDown、KeyPress之间的区别
(一)键事件按下列顺序发生:
KeyDownKeyPressKeyUp
(二)KeyDown触发后,不一定触发KeyUp,当KeyDown按下后,拖动鼠标,那么将不会触发KeyUp事件。
(三)定义KeyDown:
在控件有焦点的情况下按下键时发生。
KeyPress:
在控件有焦点的情况下按下键时发生。
(下面会说和KeyDown的区别)KeyUp:
在控件有焦点的情况下释放键时发生。
(四)KeyPress和KeyDown、KeyPress之间的区别1.KeyPress主要用来捕获数字(注意:
包括Shift+数字的符号)、字母(注意:
包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、菜单键、开始键和方向键外的ANSI字符KeyDown和KeyUp通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)2.KeyPress只能捕获单个字符KeyDown和KeyUp可以捕获组合键。
3.KeyPress可以捕获单个字符的大小写4.KeyDown和KeyUp对于单个字符捕获的KeyValue都是一个值,也就是不能判断单个字符的大小写。
5.KeyPress不区分小键盘和主键盘的数字字符。
KeyDown和KeyUp区分小键盘和主键盘的数字字符。
6.其中PrScrn按键KeyPress、KeyDown和KeyUp都不能捕获。
(五)系统组合键的判定在使用键盘的时候,通常会使用到CTRL+SHIFT+ALT类似的组合键功能。
对于此,我们如何来判定?
通过KeyUp事件能够来处理(这里说明一下为什么不用KeyDown,因为在判定KeyDown的时候,CTRL、SHIFT和ALT属于一直按下状态,然后再加另外一个键是不能准确捕获组合键,所以使用KeyDown是不能准确判断出的,要通过KeyUp事件来判定),7、点菜模块设计为顾客选定好桌台,并且邢台之后,会根据顾客的需要点菜或者购买茶水烟酒之类的消费品,在点菜模块中会显示餐厅特有一一些菜系,用户可以对不同的菜系进行选择。
点菜界面示例,学习:
TreeView控件使用TreeView组件是由多个类来定义的,TreeView组件是由命名空间System.Windows.Forms中的TreeView类来定义的,而其中的节点(即Node),是由命名空间System.Windows.Forms中的TreeNode来定义的。
所以当在程序中创建一个TreeView对象,其实只是创建了一个可以放置节点的容器。
而在这个容器中加入一个节点,其实就是加入了从TreeNode类中创建的一个节点对象;同样删除一个节点,也就是删除一个TreeNode节点对象。
C操作TreeView组件中的一些常用方法以及具体实现:
TreeView组件是一个操作起来比较麻烦的组件,但归根到底,可以总结为三种基本操作:
加入子节点、加入兄弟节点和删除节点。
掌握了这三种常用操作,对于在编程中灵活运用TreeView组件是十分必要的。
下面就分别来加以介绍。
(1).加入子节点:
所谓子节点,就是处于选定节点的下一级节点。
加入子节点的具体过程是:
首先要在TreeView组件中定位要加入的子节点的位置,然后创建一个节点对象,然后利用TreeVeiw类中对节点的加入方法(即:
Add()方法),加入此节点对象。
下面就是在treeView1组件中加入一个子节点的具体代码:
/首先判断是否选定组件中的位置if(treeView1.SelectedNode=null)MessageBox.Show(请选择一个节点,提示信息,MessageBoxButtons.OK,MessageBoxIcon.Information);else/创建一个节点对象,并初始化TreeNodetmp;tmp=newTreeNode(节点名称);/在TreeView组件中加入子节点treeView1.SelectedNode.Nodes.Add(tmp);treeView1.SelectedNode=tmp;treeView1.ExpandAll();,
(2).加入兄弟节点:
所谓兄弟节点,就是在选定的节点的平级的节点。
加入兄弟节点的方法和加入子节点的方法基本一致,只是在最后的实现方法上有着略微的区别。
加入兄弟节点的具体步骤,首先也是要确定要加入的兄弟节点所处的位置,接着定义一个节点对象,最后调用TreeView类中对兄弟节点加入的方法,加入此节点对象。
加入兄弟节点和加入子节点的最大区别就在于这最后一步。
希望读者能够注意。
下面是在TreeView组件加入一个兄弟节点的具体代码:
/首先判断是否选定组件中节点的位置if(treeView1.SelectedNode=null)MessageBox.Show(请选择一个节点,提示信息,MessageBoxButtons.OK,MessageBoxIcon.Information);else/创建一个节点对象,并初始化TreeNodetmp;tmp=newTreeNode(textBox1.Text);/在TreeView组件中加入兄弟节点treeView1.SelectedNode.Parent.Nodes.Add(tmp);treeView1.ExpandAll();,(3).删除节点:
删除节点就是删除TreeView组件中选定的节点,删除节点可以是子节点,也可以是兄弟节点,但无论节点的性质如何,必须保证要删除的节点没有下一级节点,否则必须先删除此节点中的所有下一级节点,然后再删除此节点。
删除节点比起上面的二个操作要显得略微简单,具体方法是:
首先判断要删除的节点是否存在下一级节点,如果不存在,就调用TreeView类中的Remove()方法,就可以删除节点了。
下面是删除TreeView组件中节点的具体代码:
/判断选定的节点是否存在下一级节点if(treeView1.SelectedNode.Nodes.Count=0)/删除节点treeView1.SelectedNode.Remove();elseMessageBox.Show(请先删除此节点中的子节点!
提示信息,MessageBoxButtons.OK,MessageBoxIcon.Information);,餐饮管理系统(4)本次课知识点和学习目标点菜模块消费查询模块结账模块目录树(TreeView)控件的双击事件餐饮管理系统的总结与不足,点菜界面示例,消费查询界面,结账界面示例,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 餐馆 管理 系统