需求如下:
1. 能够进行单选或者多选
2. 需要展示购买的商品名称以及对应的商品数量
3. 展示购买的总价格
效果预览:
步骤 1:创建 Winform 项目并设计界面

步骤 2:编写代码实现切换逻辑
using System;
using System.Text;
using System.Windows.Forms;

namespace 水果购物车
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }
        //窗体加载事件
        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = "0";
            textBox2.Text = "0";
            textBox3.Text = "0";
            textBox4.Text = "0";
            textBox5.Text = "0";
            textBox6.Text = "0";
            textBox7.Text = "0";
        }

        #region 按钮加减  
        //苹果减
        private void button1_Click(object sender, EventArgs e)
        {
            int count = int.Parse(textBox1.Text);
            if (count > 0)
            {
                count--;
                textBox1.Text = count.ToString();
                Shopping();
            }
        }
        //苹果加
        private void button2_Click(object sender, EventArgs e)
        {
            int count = int.Parse(textBox1.Text);
            count++;
            textBox1.Text = count.ToString();
            Shopping();

        }
        //香蕉减
        private void button4_Click(object sender, EventArgs e)
        {
            if (int.TryParse(textBox2.Text, out int count) && count > 0)
            {
                count--;
                textBox2.Text = count.ToString();
                Shopping();
            }
        }
        //香蕉加
        private void button3_Click(object sender, EventArgs e)
        {

            if (int.TryParse(textBox2.Text, out int count))
            {
                count++;
                textBox2.Text = count.ToString();
                Shopping();
            }
        }
        //橘子减
        private void button6_Click(object sender, EventArgs e)
        {
            if (int.TryParse(textBox3.Text, out int count) && count > 0)
            {
                count--;
                textBox3.Text = count.ToString();
                Shopping();
            }
        }
        //橘子加
        private void button5_Click(object sender, EventArgs e)
        {

            if (int.TryParse(textBox3.Text, out int count))
            {
                count++;
                textBox3.Text = count.ToString();
                Shopping();
            }
        }
        //草莓减
        private void button8_Click(object sender, EventArgs e)
        {

            if (int.TryParse(textBox4.Text, out int count))
            {
                count--;
                textBox4.Text = count.ToString();
                Shopping();
            }
        }
        //草莓加
        private void button7_Click(object sender, EventArgs e)
        {

            if (int.TryParse(textBox4.Text, out int count))
            {
                count++;
                textBox4.Text = count.ToString();
                Shopping();
            }
        }
        //西瓜减
        private void button10_Click(object sender, EventArgs e)
        {
            if (int.TryParse(textBox5.Text, out int count) && count > 0)
            {
                count--;
                textBox5.Text = count.ToString();
                Shopping();
            }
        }
        //西瓜加
        private void button9_Click(object sender, EventArgs e)
        {

            if (int.TryParse(textBox5.Text, out int count))
            {
                count++;
                textBox5.Text = count.ToString();
                Shopping();
            }

        }
        //芒果减
        private void button12_Click(object sender, EventArgs e)
        {
            if (int.TryParse(textBox6.Text, out int count) && count > 0)
            {
                count--;
                textBox6.Text = count.ToString();
                Shopping();
            }
        }
        //芒果加
        private void button11_Click(object sender, EventArgs e)
        {

            if (int.TryParse(textBox6.Text, out int count))
            {
                count++;
                textBox6.Text = count.ToString();
                Shopping();
            }
        }
        //火龙果减
        private void button14_Click(object sender, EventArgs e)
        {
            if (int.TryParse(textBox7.Text, out int count) && count > 0)
            {
                count--;
                textBox7.Text = count.ToString();
                Shopping();
            }
        }
        //火龙果加
        private void button13_Click(object sender, EventArgs e)
        {
            if (int.TryParse(textBox7.Text, out int count))
            {
                count++;
                textBox7.Text = count.ToString();
                Shopping();
            }
        }
        #endregion


        //全选
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            checkBox2.Checked = checkBox1.Checked;//苹果
            checkBox3.Checked = checkBox1.Checked;//香蕉
            checkBox4.Checked = checkBox1.Checked;//橘子
            checkBox5.Checked = checkBox1.Checked;//草莓
            checkBox6.Checked = checkBox1.Checked;//西瓜
            checkBox7.Checked = checkBox1.Checked;//芒果
            checkBox8.Checked = checkBox1.Checked;//火龙果
            Shopping();
        }


        #region 单个商品
        private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {
            Shopping();
        }


        private void checkBox3_CheckedChanged(object sender, EventArgs e)
        {
            Shopping();
        }

        private void checkBox4_CheckedChanged(object sender, EventArgs e)
        {

            Shopping();
        }

        private void checkBox5_CheckedChanged(object sender, EventArgs e)
        {
            Shopping();
        }

        private void checkBox6_CheckedChanged(object sender, EventArgs e)
        {
            Shopping();
        }

        private void checkBox7_CheckedChanged(object sender, EventArgs e)
        {

            Shopping();
        }

        private void checkBox8_CheckedChanged(object sender, EventArgs e)
        {

            Shopping();
        }
        #endregion


        // 购物信息与总金额计算
        private void Shopping()
        {
            double totalPrice = 0;
            StringBuilder purchaseInfo = new StringBuilder("您购买了:\n");

            // 1. 苹果(checkBox2=苹果,textBox1=苹果数量)
            if (checkBox2.Checked && int.TryParse(textBox1.Text, out int appleCount) && appleCount > 0)
            {
                double appleTotal = 3.58 * appleCount;
                totalPrice += appleTotal;
                purchaseInfo.AppendLine($"苹果:{appleCount}份(500g/份) 单价:{3.58:F2}元 小计:{appleTotal:F2}元");
            }

            // 2. 香蕉(checkBox3=香蕉,textBox2=香蕉数量)
            if (checkBox3.Checked && int.TryParse(textBox2.Text, out int bananaCount) && bananaCount > 0)
            {
                double bananaTotal = 2.85 * bananaCount;
                totalPrice += bananaTotal;
                purchaseInfo.AppendLine($"香蕉:{bananaCount}份(500g/份) 单价:{2.85:F2}元 小计:{bananaTotal:F2}元");
            }

            // 3. 橘子(checkBox4=橘子,textBox3=橘子数量)
            if (checkBox4.Checked && int.TryParse(textBox3.Text, out int orangeCount) && orangeCount > 0)
            {
                double orangeTotal = 5.68 * orangeCount;
                totalPrice += orangeTotal;
                purchaseInfo.AppendLine($"橘子:{orangeCount}份(500g/份) 单价:{5.68:F2}元 小计:{orangeTotal:F2}元");
            }

            // 4. 草莓(checkBox5=草莓,textBox4=草莓数量)
            if (checkBox5.Checked && int.TryParse(textBox4.Text, out int strawberryCount) && strawberryCount > 0)
            {
                double strawberryTotal = 18.88 * strawberryCount;
                totalPrice += strawberryTotal;
                purchaseInfo.AppendLine($"草莓:{strawberryCount}份(500g/份) 单价:{18.88:F2}元 小计:{strawberryTotal:F2}元");
            }

            // 5. 西瓜(checkBox6=西瓜,textBox5=西瓜数量)
            if (checkBox6.Checked && int.TryParse(textBox5.Text, out int watermelonCount) && watermelonCount > 0)
            {
                double watermelonTotal = 1.99 * watermelonCount;
                totalPrice += watermelonTotal;
                purchaseInfo.AppendLine($"西瓜:{watermelonCount}份(500g/份) 单价:{1.99:F2}元 小计:{watermelonTotal:F2}元");
            }

            // 6. 芒果(checkBox7=芒果,textBox6=芒果数量)
            if (checkBox7.Checked && int.TryParse(textBox6.Text, out int mangoCount) && mangoCount > 0)
            {
                double mangoTotal = 7.88 * mangoCount;
                totalPrice += mangoTotal;
                purchaseInfo.AppendLine($"芒果:{mangoCount}份(500g/份) 单价:{7.88:F2}元 小计:{mangoTotal:F2}元");
            }

            // 7. 火龙果(checkBox8=火龙果,textBox7=火龙果数量)
            if (checkBox8.Checked && int.TryParse(textBox7.Text, out int pitayaCount) && pitayaCount > 0)
            {
                double pitayaTotal = 6.55 * pitayaCount;
                totalPrice += pitayaTotal;
                purchaseInfo.AppendLine($"火龙果:{pitayaCount}份(500g/份) 单价:{6.55:F2}元 小计:{pitayaTotal:F2}元");
            }

            // 处理无选中商品/无购买数量的情况
            if (purchaseInfo.ToString() == "您购买了:\n")
            {
                purchaseInfo.Clear();
                purchaseInfo.Append("您购买了:暂无商品");
            }

            label4.Text = purchaseInfo.ToString();
            label5.Text = $"总金额:{totalPrice:F2}元";
        }
    }
}
步骤3:效果演示

希望对大家有所帮助。感谢大家的关注和点赞。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐