如何将货币值添加到按钮 C#

How to add money value to button c#

我正在使用 c# WinForms 为一家披萨店制作接单软件。我在向按钮添加价格值时遇到问题。所以当单击按钮时,我希望它在列表框中显示项目的大小、名称和价格。到目前为止,这是我的代码,不确定我是否朝着正确的方向前进。

  namespace BPOSnew
 {
 public partial class Form2 : Form
 {
    private readonly SelectedPizza _selectedPizza;

    public Form2()
    {
        InitializeComponent();

        // Assigning Pizza Sizes

        BtnKids.Tag = "Kids";
        BtnKids.Click += ButtonSizeClick;

        BtnSmall.Tag = "Small";
        BtnSmall.Click += ButtonSizeClick;

        BtnMeduim.Tag = "Meduim";
        BtnMeduim.Click += ButtonSizeClick;

        BtnLarge.Tag = "Large";
        BtnLarge.Click += ButtonSizeClick;

        // Assigning Pizza Names

        BtnHawaiian.Tag = "Hawaiian";
        BtnHawaiian.Click += ButtonNameClick;

        BtnMeatLovers.Tag = "Meat Lovers";
        BtnMeatLovers.Click += ButtonNameClick;

        BtnCapricciosa.Tag = "Capricciosa";
        BtnCapricciosa.Click += ButtonNameClick;

        BtnMargherita.Tag = "Margherita";
        BtnMargherita.Click += ButtonNameClick;


        _selectedPizza = new SelectedPizza();
    }
    public class SelectedPizza
    {
        public string Size { get; set; }
        public string Name { get; set; }
        public string Price { get; set; }

        public string Format() => $"{Size} {Name} {Price}"; // Format inside Listbox
    }
    private void ButtonSizeClick(object sender, EventArgs e)
    {
        var button = (Button)sender;
        _selectedPizza.Size = button.Tag.ToString(); // Adds pizza size to order listbox
    }

    private void ButtonNameClick(object sender, EventArgs e)
    {
        var button = (Button)sender;
        _selectedPizza.Name = button.Tag.ToString();

        listBox1.Items.Add(_selectedPizza.Format()); // Adds pizza name to order listbox
    }

怎么样


private void ButtonSizeClick(object sender, EventArgs e)
        {
            var button = (Button)sender;
            _selectedPizza.Size = button.Tag.ToString(); // Adds pizza size to order listbox

            if (_selectedPizza.Name != null)
                _selectedPizza.Price = getPrice(_selectedPizza.Size);
        }

        private void ButtonNameClick(object sender, EventArgs e)
        {
            var button = (Button)sender;
            _selectedPizza.Name = button.Tag.ToString();

            if (_selectedPizza.Size != null)
                _selectedPizza.Price = getPrice(_selectedPizza.Size);

            listBox1.Items.Add(_selectedPizza.Format()); // Adds pizza name to order listbox
        }

        private string getPrice(string sSize)
        {
            string sPrice = "0.00";

            if (sSize == "Kids")
                sPrice = "4.99";

            if (sSize == "Small")
                sPrice = "5.99";

            //etc...

            return sPrice;

        }

此处假设价格仅基于比萨饼的大小。