如何在保留用户输入数据的同时清除c#中的表单?

本文关键字:清除 表单 保留 用户 输入 数据 | 更新日期: 2023-09-27 18:10:49

我正在写一个定制饮料的程序。该程序允许用户选择大小、口味、配料和数量。然后,用户按下"将饮料添加到订单"按钮,弹出一条消息"您想自定义另一种饮料添加到您的订单吗?"我的问题是,如何保存第一杯定制饮料,以便与第二杯饮料一起打印在收据上?"清除表单时数据丢失,对吗?

如何在保留用户输入数据的同时清除c#中的表单?

程序必须保存数据。这可以是数据库,也可以是集合。我认为你还没有使用数据库,所以集合是最好的方法。

为每种类型的值创建一个具有属性的类。然后制作一个列表,用值填充。

首先构建一个表示订单的对象

public class DrinkOrder
{
  public Object Size { get; set; }
  public Object Flavor { get; set; }
  public Object Topping { get; set; }
  public Object Quantity { get; set; }
}

注意:我使用模糊的Object类型,因为我不知道你是如何表示这些字段值

然后在表单中添加一个保留过去/将来"orders"的列表

List<DrinkOrder> Orders = new List<DrinkOrder>();

然后,当他们点击添加时,填充对象并将其添加到订单列表中。

private void btnPlaceOrder_Click(object sender, EventArgs e)
{
  /* ... */
  this.Orders.Add(new DrinkOrder
  {
    Size = this.SizeControl.Value,
    Flavor = this.FlavorControl.Value,
    Toppings = this.ToppingControl.value
    Quantity = this.QuantityControl.Value
  });
  /* ... */
}

然后,你可以清除表单(如果需要的话),并准备好重新做一遍。

一旦他们完成了下订单,你现在有一个列表(Orders),你可以引用作为"购物车"。

也许你可以把数据放在某个地方?像一个数组?

您可以使用数据绑定,这很容易,并保存多个数据。你可以在这里阅读更多信息