C#實(shí)現(xiàn)簡(jiǎn)易點(diǎn)餐功能
本文實(shí)例為大家分享了C#實(shí)現(xiàn)簡(jiǎn)易點(diǎn)餐功能的具體代碼,供大家參考,具體內(nèi)容如下
圖示效果

實(shí)現(xiàn)過(guò)程
1.設(shè)計(jì)界面
2.設(shè)計(jì)控件及其屬性
3.實(shí)現(xiàn)點(diǎn)擊事件、顯示事件以及運(yùn)算
4實(shí)現(xiàn)功能
代碼如下
private void Form1_Load(object sender, EventArgs e)
{
// 給FlowLayoutPanel控件添加tag屬性,編號(hào)為index, 菜名為name,價(jià)格為money
//根據(jù)菜品的數(shù)量 添加對(duì)應(yīng)的序號(hào)按鈕
foreach (Control item in flowLayoutPanel1.Controls)//找到菜單中所有的panel控件
{ //就是創(chuàng)建Button對(duì)象 使用關(guān)鍵new創(chuàng)建對(duì)象
Button btn = new Button(); // 實(shí)例化button對(duì)象
// 將每一個(gè)子控件賦值給對(duì)應(yīng)按鈕的Tag屬性
btn.Tag = item;
btn.Size = new Size(50, 25);//設(shè)置點(diǎn)擊按鈕的大小
btn.Font = new Font("宋體", 18F);//設(shè)置按鈕顯示字體及其字體大小
foreach (Control control in item.Controls)
{
//根據(jù)控件的Tag屬性值來(lái)判斷以及獲取對(duì)應(yīng)控件中的文本從而設(shè)置給btn.Text
// 如果Tag為index 那就是編號(hào)
if (control.Tag.ToString() == "index")
{
btn.Text = control.Text;
}
}
flowLayoutPanel2.Controls.Add(btn);
//加載時(shí)顯示按鈕
btn.Click += Btn_Click; // 添加點(diǎn)擊事件+=
}
}
int count = 0; // 價(jià)格金額
private void Btn_Click(object sender, EventArgs e)
{
Button clickBtn = (Button)sender;
Label lab = new Label();
//獲取菜單中每一個(gè)子控件中的菜名與價(jià)格
// 獲取到編號(hào)按鈕對(duì)應(yīng)的菜單子控件
Control menu = (Control)clickBtn.Tag;
// 遍歷的是菜單中的子控件
foreach (Control item in menu.Controls)
{
if (item.Tag.ToString() == "name")
{
lab.Text = item.Text;
}
if (item.Tag.ToString() == "money")
{
//int.Parse(需要轉(zhuǎn)換的字符串)
//將字符串轉(zhuǎn)換為數(shù)字的方法
count += int.Parse(item.Text);
}
}
flowLayoutPanel3.Controls.Add(lab);//(點(diǎn)擊事件)顯示點(diǎn)擊過(guò)的菜名
label18.Text = count + "元";//總共點(diǎn)過(guò)菜的金額總和
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
.NET中保證線程安全的高級(jí)方法Interlocked類(lèi)使用介紹
這篇文章主要介紹了.NET中保證線程安全的高級(jí)方法Interlocked類(lèi)使用介紹,Interlocked類(lèi)可以為為多個(gè)線程共享的變量提供原子操作,需要的朋友可以參考下2014-07-07
C#通過(guò)PInvoke調(diào)用c++函數(shù)的備忘錄的實(shí)例詳解
這篇文章主要介紹了C#通過(guò)PInvoke調(diào)用c++函數(shù)的備忘錄的實(shí)例以及相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。2019-08-08
C#使用yield關(guān)鍵字讓自定義集合實(shí)現(xiàn)foreach遍歷的方法
這篇文章主要介紹了C#使用yield關(guān)鍵字讓自定義集合實(shí)現(xiàn)foreach遍歷的方法,需要的朋友可以參考下2014-08-08
C#根據(jù)權(quán)重抽取隨機(jī)數(shù)
最近在開(kāi)發(fā)過(guò)程中遇到一個(gè)需要做帶權(quán)隨機(jī)的處理,本文主要介紹了C#根據(jù)權(quán)重抽取隨機(jī)數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
詳解MongoDB for C#基礎(chǔ)入門(mén)
本篇文章主要介紹了MongoDB for C#基礎(chǔ)入門(mén),具體介紹了c#中關(guān)于對(duì)MongoDB的連接,插入,查詢等,有需要的可以了解一下。2016-12-12

