【发布时间】:2018-10-06 00:59:41
【问题描述】:
我想做的很简单(我当然无法弄清楚)。我正在制作一个带有 Winform App 格式的库存系统的样品店,如果在客户端单击“下订单”按钮,它会从库存中扣除;扣除的金额取决于订购商品的数量。无论如何,使用此代码,
private void button7_Click(object sender, EventArgs e)
button7.Enabled = true;
//Read in value
int qty = Convert.ToInt32(nudQuantity.Value);
if ((rdoSmallCup.Checked & rdoStraw.Checked) == true) {
//Removing four from inventory for strawberry after an order is made
InvStrawberry = InvStrawberry - (4 * qty);
if (InvStrawberry <= 0) {
button7.Enabled = false;
} else {
button7.Enabled = true;
}
label17.Text = Convert.ToString(InvStrawberry);
我看到,一旦草莓的库存下降到零以上,它确实编译没有错误(它实际上是一个负值,我不想要,但另一个问题是另一个问题)下订单按钮(“按钮 7") 将变灰且无法使用,这是目标,但一旦再次添加库存,此按钮仍然无法使用。有人可以解释我如何重新启用此按钮(即使我在“其他”条件下说过)?
【问题讨论】:
-
您必须在其他地方查询数据库才能重新启用该按钮。就像一个注释一样,除非它被启用,否则您不能单击按钮,因此将 Enabled 设置为 true 不会执行任何操作,它必须为 true 才能运行该代码。
-
该代码(与显示的完全相同)将无法编译,因为它缺少左括号和右括号...假设此代码在“button7”的单击事件处理程序中运行,则启用状态只会单击按钮时更改。正如@Ron 提到的,它在禁用时不会运行,所以它永远不会发生。
-
您应该在向库存添加数量的地方启用按钮。