最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#框架winform實(shí)現(xiàn)簡單點(diǎn)餐系統(tǒng)

 更新時(shí)間:2021年07月21日 14:21:30   作者:不染-何程龍  
這篇文章主要為大家詳細(xì)介紹了C#框架winform實(shí)現(xiàn)簡單點(diǎn)餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C#框架winform實(shí)現(xiàn)簡單點(diǎn)餐系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

一、編程思想

1、構(gòu)思界面并進(jìn)行設(shè)計(jì)
2、思考需要用到的控件以及控件需要更改的屬性
3、構(gòu)思將要觸發(fā)的事件以及部分業(yè)務(wù)流程
4、通過點(diǎn)擊菜品,進(jìn)行添加,并計(jì)算價(jià)格
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、如何從菜品價(jià)格中取出單價(jià)
9、顯示菜品與計(jì)算價(jià)格功能的實(shí)現(xiàn)

三、實(shí)現(xiàn)過程

1、主要用到的控件

  • FlowLayoutPanel:處理其組件的布局并在流局中自動(dòng)排列它們
  • Label:為控件提供運(yùn)行時(shí)信息或說明性文字

2、主要設(shè)置的屬性

FlowLayoutPanel:BorderStyle(指示面板是否應(yīng)具有邊框)

Fixed3D:3D立體邊框
FixedSingle:普通邊框
None:無邊框

FlowLayoutPanel、Label:Tag(與對象關(guān)聯(lián)的用戶定義數(shù)據(jù))

菜名編號(hào):Tag=index
菜名名:Tag=name
菜名價(jià)格: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為菜品編號(hào)
                    if (control.Tag.ToString()=="index")
                    {
                        //設(shè)置按鈕中的文本為菜品編號(hào)
                        btn.Text = control.Text;
                    }
                }
                //將按鈕添加到MiddleDesign中
                MiddleDesign.Controls.Add(btn);
                //給按鈕添加點(diǎn)擊事件
                btn.Click += Btn_Click;
            }
        }

2、定義全局變量

 //定義一個(gè)記錄總價(jià)格的變量count
        int count = 0;
        //創(chuàng)建一個(gè)字符串接收價(jià)格
        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)建一個(gè)字符ch,保存遍歷出的每個(gè)字符
                        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é)算的價(jià)格,并讓其顯示
                jiesuan.Text = count + "元";
            }
        }

五、運(yùn)行結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

丰台区| 于都县| 宁强县| 青浦区| 贺兰县| 进贤县| 泽库县| 定陶县| 萝北县| 广丰县| 荥阳市| 静安区| 合阳县| 南充市| 乌鲁木齐市| 澄江县| 阳江市| 铁岭县| 南阳市| 长白| 丹棱县| 方正县| 桐柏县| 五台县| 临清市| 萨嘎县| 景东| 河北区| 武义县| 达尔| 黑河市| 开封县| 阳朔县| 大竹县| 钟山县| 化隆| 阿图什市| 西和县| 克拉玛依市| 宜宾县| 洪湖市|