C#框架winform實現(xiàn)簡單點餐系統(tǒng)
本文實例為大家分享了C#框架winform實現(xiàn)簡單點餐系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
一、編程思想
1、構(gòu)思界面并進行設計
2、思考需要用到的控件以及控件需要更改的屬性
3、構(gòu)思將要觸發(fā)的事件以及部分業(yè)務流程
4、通過點擊菜品,進行添加,并計算價格
5、界面的美化以及功能的完善
二、編程核心
1、如何獲取控件中的內(nèi)容
2、點擊按鈕,查找并添加查找的內(nèi)容
3、添加按鈕對應的點擊事件
4、如何一次性取出控件中的內(nèi)容
5、主要用forEach遍歷控件
6、數(shù)據(jù)類型的轉(zhuǎn)換
7、控件Tag屬性的使用
8、如何從菜品價格中取出單價
9、顯示菜品與計算價格功能的實現(xiàn)
三、實現(xiàn)過程
1、主要用到的控件
- FlowLayoutPanel:處理其組件的布局并在流局中自動排列它們
- Label:為控件提供運行時信息或說明性文字
2、主要設置的屬性
FlowLayoutPanel:BorderStyle(指示面板是否應具有邊框)
Fixed3D:3D立體邊框
FixedSingle:普通邊框
None:無邊框
FlowLayoutPanel、Label:Tag(與對象關(guān)聯(lián)的用戶定義數(shù)據(jù))
菜名編號:Tag=index
菜名名:Tag=name
菜名價格:Tag=money
四、代碼實現(xiàn)
1、窗體加載事件
private void Form1_Load(object sender, EventArgs e) { //為窗體添加文本標題 this.Text = "陜西美食點餐"; //設置窗體居于頁面中心顯示 this.CenterToScreen(); //遍歷TopDesign中的所有元素 //Control:控件類型 //采用forEach循環(huán),進行遍歷 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; //將子控件統(tǒng)一添加到btn的Tag中 btn.Tag = item; //循環(huán)子控件 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; //創(chuàng)建一個字符串接收價格 string result = "";
3、按鈕點擊事件
private void Btn_Click(object sender, EventArgs e) { //將sender(觸發(fā)者參數(shù))綁定給按鈕 Button click_btn = (Button)sender; //將獲取的Tag進行類型轉(zhuǎn)換(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++) { //創(chuàng)建一個字符ch,保存遍歷出的每個字符 char ch = item.Text[i]; //字符為數(shù)字 if (ch >= '0' & ch <= '9') { //將數(shù)字的字符轉(zhuǎn)換成字符串后,賦給result result = ch.ToString(); } } //數(shù)據(jù)類型轉(zhuǎn)換,以下兩種方法均可 // count += int.Parse(item.Text); count += Convert.ToInt32(result); } //將Label添加到BottomDesign中 BottomDesign.Controls.Add(lab); //設置結(jié)算的價格,并讓其顯示 jiesuan.Text = count + "元"; } }
五、運行結(jié)果
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#開發(fā)WinForm根據(jù)條件改變DataGridView行顏色
這篇文章介紹了C#開發(fā)WinForm根據(jù)條件改變DataGridView行顏色的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03automation服務器不能創(chuàng)建對象 解決方法
本文主要介紹如何解決“automation服務器不能創(chuàng)建對象”錯誤,從而解決Visual Studio.Net不能正常使用的問題,需要的朋友可以參考下。2016-06-06C#編程實現(xiàn)連接ACCESS數(shù)據(jù)庫實例詳解
這篇文章主要介紹了C#編程實現(xiàn)連接ACCESS數(shù)據(jù)庫的方法,以實例形式較為詳細的分析了C#連接access數(shù)據(jù)庫的具體步驟與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11