【问题标题】:How not to increment integer value twice by clicking same button again如何不通过再次单击相同的按钮来增加整数值两次
【发布时间】:2014-12-09 09:09:52
【问题描述】:
int a = Convert.ToInt32(label1.Text);
a++;
label1.Text = a.ToString();

正如你所见,我实际上使用了标签来显示结果。但是当我再次单击按钮时,值再次增加。我也不想禁用按钮。并希望保留之前增加的值。

当我单击一个按钮并停止增量时,值只会增加一次。

我正在设计一个测验应用程序。

【问题讨论】:

  • 有一个类级别bool,在第一次单击时将其设置为true,并在递增之前检查bool。这也取决于您所针对的应用程序类型,对于 ASP.Net 应用程序,您必须为您的 bool 检查维护状态,因为它会在第一次回发后丢失。
  • 使用布尔值,在第一个增量时设置它,在第二个增量时检查它。
  • I don't want to disable button also. 为什么不呢?对于不再执行任何操作的按钮来说,这将是正确的行为。否则用户会一直点击并想知道为什么什么都没有发生。
  • @MattBurland:可能的场景:按钮还执行其他操作,然后递增。但这没有任何意义……

标签: c# asp.net increment


【解决方案1】:
int a = int.Parse(label1.Text);

if(a < int.parse(label1.Text) + 1)
   a++;

label1.Text = a.ToString();

【讨论】:

  • 由于您每次都在重置a,因此这将始终小于基本a+1。大概你的意思是第一行不是事件处理程序的一部分,在这种情况下你应该清楚。
  • 如果 (a
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-21
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多