如何将货币值添加到按钮 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;
}
此处假设价格仅基于比萨饼的大小。
我正在使用 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;
}
此处假设价格仅基于比萨饼的大小。