繁体   English   中英

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

[英]How do you clear a form in C# while keeping user input data?

我正在写一个定制饮料的程序。 该程序允许用户选择尺寸,风味,顶部和数量。 用户然后按下“添加饮料到订单”按钮,弹出一条消息“你想自定义另一种饮料添加到您的订单吗?是,否”我的问题是如何保存第一个自定义饮料打印在收据和第二杯饮料? 清除表单时数据丢失是否正确?

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

创建一个具有每种类型值的属性的类。 然后列出那些填充了值的列表。

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

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

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

然后在表单中添加一个列表,保留过去/未来的“订单”

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 ),您可以作为“购物车”参考。

也许你可以将数据放在某处? 像一个阵列?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM