Я делаю программу приема заказов для пиццерии в 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
}