带有窗口应用程序的列表框和文本框

本文关键字:文本 列表 窗口 应用程序 | 更新日期: 2023-09-27 18:30:40

我读了一整章关于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;
    }
}
}

带有窗口应用程序的列表框和文本框

我不确定"重置"列表框是什么意思,但您可以使用

pastryBox.Items.Clear();
pastryBox.Items.AddRange(pastryPrice)

这会将 listBox 设置为设置状态(如果对其进行了编辑)。

您也可以使用

txtBoxTotal.Text = string.Empty;

txtBoxTotal.Text = "0";

最好进行数据绑定,但您需要阅读它。呵呵。

清除Textbox

txtBoxTotal.Text = ""

对于listbox

我不明白你想问什么?只要把你的问题说得更清楚......