我阅读了一本书中关于 c# windows 应用程序的一整章(作者是 Barbara Doyle),并尝试了其中的一个问题。我一定没有正确理解列表框和复选框的基本原理。
我的问题是,为此,您如何清除列表框。我的意思不是pastyBox.Items.Clear();
,因为该方法会清除整个列表框,而是我将如何...“重置它”,正如您所期望的那样,如果您想在新订单上开始新的订单(我觉得“重置”这个词可能更合适)? 此外,无论我似乎做什么,我都无法清除文本框,即使我将其设置为txtBoxTotal = "";
或尝试将值设为零。
我完全错过了一些东西,希望有人能指出它。也许这是一个非常容易的错误,或者只是一些我不知道的知识。这是清除复选框的方式的代码,我删除了我试图解决文本框和列表框的几行代码
我想也许最后它是一个选定的索引,因为我通过它运行了一个数组......我似乎不再有任何线索了。
编辑:: 截至目前,当我加载我的应用程序时,假设我点击果仁蜜饼和茶,它在文本框中显示 3.80,当我点击清除时,它删除了茶前面的箭头,果仁蜜饼仍然被选中并且 txtbox 没有不改变我希望清除文本框并取消选择选定的果仁蜜饼
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
decimal[] pastryPrice = { 3.00m, 2.85m, 3.25m, 4.35m, 3.40m, 2.30m, 2.90m,
1.75m,2.00m, 1.50m };
decimal pastry;
decimal total;
decimal drinkCost = 0;
private void pastryBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch (pastryBox.SelectedIndex)
{
case 0:
pastry = pastryPrice[0];
break;
case 1:
pastry = pastryPrice[1];
break;
case 2:
pastry = pastryPrice[2];
break;
case 3:
pastry = pastryPrice[3];
break;
case 4:
pastry = pastryPrice[4];
break;
case 5:
pastry = pastryPrice[5];
break;
case 6:
pastry = pastryPrice[6];
break;
case 7:
pastry = pastryPrice[7];
break;
case 8:
pastry = pastryPrice[8];
break;
case 9:
pastry = pastryPrice[9];
break;
}
}
private void txtBoxTotal_TextChanged(object sender, EventArgs e)
{
total = pastry + drinkCost;
txtBoxTotal.Text = Convert.ToString(total);
}
private void ComputeDrinkCost_CheckedChanged(object sender, EventArgs e)
{
if (this.Coffee.Checked)
{
drinkCost = 2.00m;
}
if (this.Tea.Checked)
{
drinkCost = 1.80m;
}
if (this.Water.Checked)
{
drinkCost = 0.00m;
}
if (this.Cream.Checked)
{
if ((this.Coffee.Checked) || (this.Tea.Checked))
{
drinkCost += 0m;
}
else
{
drinkCost += .50m;
}
}
if (this.Sugar.Checked)
{
if ((this.Coffee.Checked) || (this.Tea.Checked))
{
drinkCost += 0m;
}
else
{
drinkCost += .30m;
}
}
if (this.WhippedCream.Checked)
{
drinkCost += .60m;
}
if (this.Cocoa.Checked)
{
drinkCost += .90m;
}
if (this.Cinnamon.Checked)
{
drinkCost += .25m;
}
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void clearOrderToolStripMenuItem_Click(object sender, EventArgs e)
{
this.clearDrinks();
}
public void clearDrinks()
{
Tea.Checked = false;
Coffee.Checked = false;
Water.Checked = false;
Cream.Checked = false;
Sugar.Checked = false;
Cinnamon.Checked = false;
WhippedCream.Checked = false;
Cocoa.Checked = false;
}
}
}