以下是一个简单的示例代码,实现商品销售和退货订单功能,并使用 databinding 在 ListBox 中显示。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ProductSales
{
    public partial class Form1 : Form
    {
        private List<Product> products; // 商品列表
        private List<SaleOrder> saleOrders; // 销售订单列表
        private List<ReturnOrder> returnOrders; // 退货订单列表

        public Form1()
        {
            InitializeComponent();

            // 初始化商品列表
            products = new List<Product>();
            products.Add(new Product("001", "手机", 2000));
            products.Add(new Product("002", "电脑", 5000));
            products.Add(new Product("003", "平板电脑", 3000));

            // 初始化销售订单列表和退货订单列表
            saleOrders = new List<SaleOrder>();
            returnOrders = new List<ReturnOrder>();

            // 绑定商品列表到 ListBox
            listBoxProducts.DataSource = products;
            listBoxProducts.DisplayMember = "Name"; // 显示商品名称
            listBoxProducts.ValueMember = "Id"; // ListBox 中每个项对应的值是商品 ID
        }

        // 添加销售订单
        private void buttonAddSaleOrder_Click(object sender, EventArgs e)
        {
            // 获取选中的商品
            Product selectedProduct = listBoxProducts.SelectedItem as Product;
            if (selectedProduct == null) return;

            // 获取销售数量
            int quantity = (int)numericUpDownQuantity.Value;

            // 添加销售订单
            SaleOrder saleOrder = new SaleOrder(selectedProduct, quantity);
            saleOrders.Add(saleOrder);

            // 刷新销售订单列表
            listBoxSaleOrders.DataSource = null;
            listBoxSaleOrders.DataSource = saleOrders;
        }

        // 添加退货订单
        private void buttonAddReturnOrder_Click(object sender, EventArgs e)
        {
            // 获取选中的销售订单
            SaleOrder selectedSaleOrder = listBoxSaleOrders.SelectedItem as SaleOrder;
            if (selectedSaleOrder == null) return;

            // 获取退货数量
            int quantity = (int)numericUpDownQuantity.Value;

            // 添加退货订单
            ReturnOrder returnOrder = new ReturnOrder(selectedSaleOrder, quantity);
            returnOrders.Add(returnOrder);

            // 刷新退货订单列表
            listBoxReturnOrders.DataSource = null;
            listBoxReturnOrders.DataSource = returnOrders;
        }
    }

    // 商品类
    public class Product
    {
        public string Id { get; set; } // 商品 ID
        public string Name { get; set; } // 商品名称
        public decimal Price { get; set; } // 商品价格

        public Product(string id, string name, decimal price)
        {
            Id = id;
            Name = name;
            Price = price;
        }

        // 重写 ToString 方法,返回商品名称和价格
        public override string ToString()
        {
            return string.Format("{0} - {1:C}", Name, Price);
        }
    }

    // 销售订单类
    public class SaleOrder
    {
        public Product Product { get; set; } // 销售的商品
        public int Quantity { get; set; } // 销售数量
        public decimal TotalPrice { get { return Product.Price * Quantity; } } // 总价

        public SaleOrder(Product product, int quantity)
        {
            Product = product;
            Quantity = quantity;
        }

        // 重写 ToString 方法,返回销售订单信息
        public override string ToString()
        {
            return string.Format("{0} x {1} = {2:C}", Product.Name, Quantity, TotalPrice);
        }
    }

    // 退货订单类
    public class ReturnOrder
    {
        public SaleOrder SaleOrder { get; set; } // 对应的销售订单
        public int Quantity { get; set; } // 退货数量
        public decimal Refund { get { return SaleOrder.Product.Price * Quantity; } } // 退款金额

        public ReturnOrder(SaleOrder saleOrder, int quantity)
        {
            SaleOrder = saleOrder;
            Quantity = quantity;
        }

        // 重写 ToString 方法,返回退货订单信息
        public override string ToString()
        {
            return string.Format("{0} x {1} = {2:C}", SaleOrder.Product.Name, Quantity, Refund);
        }
    }
}
c#中用winform,使用面向对象的编程思想,实现商品的销售和退货订单功能并通过databinding在列表中显示,操作数据显示列表使用ListBox.如果可以的话,帮我写一下注释

原文地址: http://www.cveoy.top/t/topic/saf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录