C# 我如何让这个程序一次检查多个东西?

C# 我如何让这个程序一次检查多个东西?,c#,if-statement,C#,If Statement,/在这段代码的底部有两条if语句。我希望能够首先检查用户是否选择了一种风味。默认情况下,风味文本框的文本为选择一种风味。如果他们在没有选择口味的情况下单击AddDiff按钮,则消息框需要显示他们没有选择口味,而不是没有输入数量,然后继续程序。但是,如果他们选择了一种口味,但没有输入数量,则应显示关于输入数量的消息框。如果需要更多信息,请告诉我。谢谢你的帮助/ 有更好的方法来做你想做的事情。但是为了解决你的问题,你可以试试这个- . . . string msgBoxTxt = "";

/在这段代码的底部有两条if语句。我希望能够首先检查用户是否选择了一种风味。默认情况下,风味文本框的文本为选择一种风味。如果他们在没有选择口味的情况下单击AddDiff按钮,则消息框需要显示他们没有选择口味,而不是没有输入数量,然后继续程序。但是,如果他们选择了一种口味,但没有输入数量,则应显示关于输入数量的消息框。如果需要更多信息,请告诉我。谢谢你的帮助/


有更好的方法来做你想做的事情。但是为了解决你的问题,你可以试试这个-

.
.
.
   string msgBoxTxt = "";

    if (this.txtQuantity.Text != "0")
    {
        quantityNum = double.Parse(this.txtQuantity.Text);
        quantityPrice = cost * quantityNum;
        this.lblFinalCost.Text = "Cost: " + quantityPrice.ToString("c");
    }
    else
        msgBoxTxt += "Please enter a quantity! ";

   if (this.cmboBoxJuiceFlav.Text != "Select a flavor")
       this.lblFinalFlavor.Text = "Flavor: " + this.cmboBoxJuiceFlav.Text;
   else
       msgBoxTxt += "Please select a flavor!";

   if (msgBoxTxt != "")
        MessageBox.Show(msgBoxTxt);

这不是你想要的吗:

if (this.cmboBoxJuiceFlav.Text != "Select a flavor")
{
    this.lblFinalFlavor.Text = "Flavor: " + this.cmboBoxJuiceFlav.Text;
    if (this.txtQuantity.Text != "0")
    {
        quantityNum = double.Parse(this.txtQuantity.Text);
        quantityPrice = cost * quantityNum;
        this.lblFinalCost.Text = "Cost: " + quantityPrice.ToString("c");
    }
    else
    {
        MessageBox.Show("Please enter a quantity!");
    }
}
else
{
    MessageBox.Show("Please select a flavor!");
}

这不是一个真正的问题,我相信这个问题是一种家庭作业/任务。请在询问之前在MSDN库中进行研究。是什么泄露了它?Chap9DrinkApp名称空间可能是:这很有效。但是,当程序运行并选择一种口味时,它会立即显示“请输入数量”消息框。。。我会再把它弄得乱七八糟的。但是谢谢你的帮助!这可能意味着您的复选框正在调用btnaddrink_Click事件处理程序,而它们不应该调用。如果我的答案是您想要的,请确保您将其标记为正确答案,谢谢:我只是不知道它应该调用哪个事件处理程序。。。我知道这应该没那么难。嗯,猜猜看,唯一应该调用btnaddrink_Click的事件是btnaddrink按钮的Click事件。复选框不必调用任何事件处理程序。这样想吧-你真的想在每次有人点击复选框时调用btnaddrink\u Click吗?或者你只想在他们点击btnaddrink时打电话给他们?谢谢。它可以清除一些东西。然而,我认为将所有内容都放在btnaddrink_Click中可以让我在用户选择定制另一种饮料时保存他们的饮料订单。场景是这样的-程序执行;用户选择小型、中型或大型;用户从组合框中选择风味;用户选择额外的浇头;用户输入数量;用户点击添加饮料;提示用户是否要添加其他订单;如果是,则清除表格。如果否,则会显示“完成我的订单”按钮。是的,这也有效。但是我在点击口味选择时仍然会看到数量消息框。我知道这是因为我调用了错误的事件处理程序,但我不知道其他方法。有什么想法吗?@jmendegan-你的口味选择是一个组合框,它不同于你的AddDrink按钮,所以听起来这个行为是正确的。我们必须看到一个屏幕截图才能看到正确的行为,但听起来你需要将一些代码移动到另一个事件处理程序。你能告诉我一些事情吗???如果此应用程序允许用户使用复选框、单选按钮和组合框自定义饮料,我应该如何放置代码以保存用户的选择并将其打印在消息框中?此外,在他们将自己的选择添加到订单中后,我如何保存他们的选择,同时允许他们定制另一种饮料?我完全糊涂了,需要尽快帮助!谢谢@jmendegan—我将创建一个UsersLinkChoices类,它不知道复选框、单选按钮等,但具有与UI上的用户操作相匹配的方法。类似AddDrink、SelectDrinkint n、SetQuantityint n等。屏幕上发生的任何用户操作都会将方法创建到此类中以构建状态。还有读取值的方法。当然,这个类也会让你知道有什么错误。可能有bool是有效的{get;},字符串ErrorMessage{get;},等等。这有帮助吗?这有帮助,是的。但我做了一些研究,使我的程序充分发挥作用。现在唯一要做的就是添加一些类型的数据库,这样我就可以在用户自定义多个饮料时保存用户的选择。我创建了一个名为Orders的类,它们选择的值可以很好地传递到该类中。但是,当他们选择清除表单并开始另一杯饮料时,即使是Orders类中的值也会被删除!我想不出来。有什么想法吗?
if (this.cmboBoxJuiceFlav.Text != "Select a flavor")
{
    this.lblFinalFlavor.Text = "Flavor: " + this.cmboBoxJuiceFlav.Text;
    if (this.txtQuantity.Text != "0")
    {
        quantityNum = double.Parse(this.txtQuantity.Text);
        quantityPrice = cost * quantityNum;
        this.lblFinalCost.Text = "Cost: " + quantityPrice.ToString("c");
    }
    else
    {
        MessageBox.Show("Please enter a quantity!");
    }
}
else
{
    MessageBox.Show("Please select a flavor!");
}