C#框架winform實(shí)現(xiàn)簡單點(diǎn)餐系統(tǒng)
本文實(shí)例為大家分享了C#框架winform實(shí)現(xiàn)簡單點(diǎn)餐系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
一、編程思想
1、構(gòu)思界面并進(jìn)行設(shè)計
2、思考需要用到的控件以及控件需要更改的屬性
3、構(gòu)思將要觸發(fā)的事件以及部分業(yè)務(wù)流程
4、通過點(diǎn)擊菜品,進(jìn)行添加,并計算價格
5、界面的美化以及功能的完善
二、編程核心
1、如何獲取控件中的內(nèi)容
2、點(diǎn)擊按鈕,查找并添加查找的內(nèi)容
3、添加按鈕對應(yīng)的點(diǎn)擊事件
4、如何一次性取出控件中的內(nèi)容
5、主要用forEach遍歷控件
6、數(shù)據(jù)類型的轉(zhuǎn)換
7、控件Tag屬性的使用
8、如何從菜品價格中取出單價
9、顯示菜品與計算價格功能的實(shí)現(xiàn)
三、實(shí)現(xiàn)過程
1、主要用到的控件
- FlowLayoutPanel:處理其組件的布局并在流局中自動排列它們
- Label:為控件提供運(yùn)行時信息或說明性文字
2、主要設(shè)置的屬性
FlowLayoutPanel:BorderStyle(指示面板是否應(yīng)具有邊框)
Fixed3D:3D立體邊框
FixedSingle:普通邊框
None:無邊框
FlowLayoutPanel、Label:Tag(與對象關(guān)聯(lián)的用戶定義數(shù)據(jù))
菜名編號:Tag=index
菜名名:Tag=name
菜名價格:Tag=money

四、代碼實(shí)現(xiàn)
1、窗體加載事件
private void Form1_Load(object sender, EventArgs e)
{
//為窗體添加文本標(biāo)題
this.Text = "陜西美食點(diǎn)餐";
//設(shè)置窗體居于頁面中心顯示
this.CenterToScreen();
//遍歷TopDesign中的所有元素
//Control:控件類型
//采用forEach循環(huán),進(jìn)行遍歷
foreach (Control item in TopDesign.Controls)
{
//生成按鈕
//實(shí)例化按鈕
Button btn = new Button();
//設(shè)置按鈕部分屬性
//設(shè)置其大小
btn.Size = new Size(30,30);
//設(shè)置其字體
btn.Font = new Font("楷體", 14F);
//設(shè)置其背景顏色
btn.BackColor = Color.White;
//設(shè)置其自適應(yīng)大小
btn.AutoSize = true;
//將子控件統(tǒng)一添加到btn的Tag中
btn.Tag = item;
//循環(huán)子控件
foreach (Control control in item.Controls)
{
//判斷tag為菜品編號
if (control.Tag.ToString()=="index")
{
//設(shè)置按鈕中的文本為菜品編號
btn.Text = control.Text;
}
}
//將按鈕添加到MiddleDesign中
MiddleDesign.Controls.Add(btn);
//給按鈕添加點(diǎn)擊事件
btn.Click += Btn_Click;
}
}
2、定義全局變量
//定義一個記錄總價格的變量count
int count = 0;
//創(chuàng)建一個字符串接收價格
string result = "";
3、按鈕點(diǎn)擊事件
private void Btn_Click(object sender, EventArgs e)
{
//將sender(觸發(fā)者參數(shù))綁定給按鈕
Button click_btn = (Button)sender;
//將獲取的Tag進(jìn)行類型轉(zhuǎn)換(Control),放入menu控件中
Control menu = (Control)click_btn.Tag;
//實(shí)例化label控件,用來寫入菜名
Label lab = new Label();
//設(shè)置Label字體
lab.Font = new Font("楷體", 14F);
//遍歷menu中的所有控件
foreach (Control item in menu.Controls)
{
//判斷控件標(biāo)記為name
if (item.Tag.ToString() == "name")
{
//設(shè)置Label中的文本為菜品名稱
lab.Text = item.Text;
}
//判斷控件標(biāo)記為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);
//設(shè)置結(jié)算的價格,并讓其顯示
jiesuan.Text = count + "元";
}
}
五、運(yùn)行結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c#調(diào)用存儲過程實(shí)現(xiàn)登錄界面詳解
2013-03-03
C#開發(fā)WinForm根據(jù)條件改變DataGridView行顏色
這篇文章介紹了C#開發(fā)WinForm根據(jù)條件改變DataGridView行顏色的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03
automation服務(wù)器不能創(chuàng)建對象 解決方法
本文主要介紹如何解決“automation服務(wù)器不能創(chuàng)建對象”錯誤,從而解決Visual Studio.Net不能正常使用的問題,需要的朋友可以參考下。2016-06-06
C#編程實(shí)現(xiàn)連接ACCESS數(shù)據(jù)庫實(shí)例詳解
這篇文章主要介紹了C#編程實(shí)現(xiàn)連接ACCESS數(shù)據(jù)庫的方法,以實(shí)例形式較為詳細(xì)的分析了C#連接access數(shù)據(jù)庫的具體步驟與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11

