• 【C# 窗体 超市购物买单系统】简单版和进阶版


    【C# 窗体 超市购物买单系统】


    简单版

    功能简介:

    1. 填入商品,显示在 DataGridView 表格里面
    2. 添加按钮,通过 单价 * 数量 ,计算消费金额
    3. 输入付款金额,完成支付按钮计算 实付 和 找零

    界面展示:

    请添加图片描述


    DataGridView 显示界面设置

    1. 点击添加
    2. 修改页眉 和 名称
    3. 右边 Width 设置单列展示宽度(逐一设置)

    请添加图片描述


    代码展示:

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                float cost = float.Parse(textBox4.Text.Trim());
                label9.Text = Convert.ToString(cost);
                if (cost >= sum)
                {
                    cost -= sum;
                    label7.Text = Convert.ToString(cost);
                }
                else
                    MessageBox.Show("金额不足", "warning", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            int k = 0;
            float sum = 0;
            private void button1_Click(object sender, EventArgs e)
            {
                if (textBox1.Text.Trim() != "" || textBox1.Text.Trim() != null)
                {
                    k++;
                    int rowIndex = dataGridView1.Rows.Add(1);
                    dataGridView1[0, rowIndex].Value = k;
                    dataGridView1[1, rowIndex].Value = textBox1.Text.Trim();
                    dataGridView1[2, rowIndex].Value = textBox2.Text.Trim();
                    dataGridView1[3, rowIndex].Value = textBox3.Text.Trim();
    
                    sum += float.Parse(textBox2.Text.Trim()) *
                        float.Parse(textBox3.Text.Trim());
                    label4.Text = Convert.ToString(sum);
                }
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    进阶版

    问题1:

    • [x ] 删除购物单里特定行的商品
    • 对名称相同的商品进行重组(不单独列一行)

    删除按钮代码:

    private void button3_Click(object sender, EventArgs e)
            {
                if (dataGridView1.Rows.Count > 1)
                {
                    int rowIndex = dataGridView1.CurrentCell.RowIndex;
                    sum -= float.Parse(Convert.ToString( dataGridView1[2,rowIndex].Value)) *
                       float.Parse(Convert.ToString(dataGridView1[3, rowIndex].Value));
                    label4.Text = Convert.ToString(sum);
                    dataGridView1.Rows.RemoveAt(rowIndex);
                    textBox1.Text = "";
                    textBox2.Text = "";
                    textBox3.Text = "";
                }
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    相同商品重组(暂未实现)

    代码参考:

     if (dataGridView1.Rows.Count > 1){
                    if (textBox1.Text.Trim() != "" || textBox1.Text.Trim() != null)
                    {
                        int cell = dataGridView1.Rows[1].Cells.Count;
                        for (int i = 0; i < cell; i++)
                        {
                            if (textBox1.Text.Trim() == dataGridView1[1, i].Value.ToString())
                            {
                                float f1 = float.Parse(Convert.ToString(dataGridView1[2, i].Value));
                                f1 += float.Parse(textBox2.Text.Trim());
                                dataGridView1[2, i].Value = f1;
                                float f2 = float.Parse(Convert.ToString(dataGridView1[3, i].Value));
                                f2 += float.Parse(textBox3.Text.Trim());
                                dataGridView1[3, i].Value = f2;
                                sum += float.Parse(textBox2.Text.Trim()) *
                                     float.Parse(textBox3.Text.Trim());
                                label4.Text = Convert.ToString(sum);
                            }
    
                        }
                    }
                }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    关注视频号===>学更多网页设计,毕设不是问题

    点击前往–》

    在这里插入图片描述

    请添加图片描述

  • 相关阅读:
    基于jeecgboot的flowable增加流程节点抄送功能
    Android 内存分析
    C++、基于Qt和Qwt实现交互式曲线图
    类和对象(前)
    基于PHP企业公司网站系统设计与实现 开题报告
    阿里云服务器ECS实例规格族字母命名说明
    VulnHub — Lampiao
    DOM——文件对象模型(元素位置、盒子模型)
    mybatis-plus实现逻辑删除(详细!)
    纸箱码垛机:从传统到智能,科技如何助力产业升级
  • 原文地址:https://blog.csdn.net/qq_50767141/article/details/124752205