【问题标题】:How do I subtract the last figure added to a total in VB如何在VB中减去添加到总数中的最后一个数字
【发布时间】:2015-03-19 15:36:28
【问题描述】:

我想创建一个按钮,用于撤销 VB.NET 中的数学过程。

该程序由一个列表组成。用户将项目添加到此列表中。这些物品也附有价值(价格)。这些项目由按钮表示。所以当用户点击一个按钮时,特定的项目和它的价格被放置在列表框中。

在列表框下方,有一个 Total Due 文本框。这包括为购买列表中的选定项目而需要支付的总金额。

我可以通过选择“清除最后一项”按钮轻松删除列表中的条目。但是“总到期”不会改变。

到目前为止,我的代码如下:

 Private Sub btnClearLast_Click(sender As Object, e As EventArgs) Handles btnClearLast.Click
    'clear the last item to appear in the list box
    If lstOrder.Items.Count = 0 Then
        MessageBox.Show("No Orders to Clear", "Error")

    ElseIf lstOrder.Items.Count > 0 Then
        lstOrder.Items.RemoveAt(lstOrder.Items.Count - 1)
    End If
 End Sub

图片可能是理想的,但没有足够的声誉将图片添加到问题中。希望这对您有所帮助

【问题讨论】:

  • 我们可以看到您将数字加到总数中的代码吗?我们需要更多背景信息。
  • 欢迎来到 Stack Overflow!请花点时间仔细查看How to Ask
  • 您主要关心的是如何设置按钮,或者如何更改应用程序以便可以撤消操作?
  • 这听起来不像是一个愚蠢但不清楚的问题。到目前为止,您尝试过什么?
  • 每次更改总计时,保存总计的旧值。当用户单击“撤消”按钮时,将当前总计替换为保存的值。

标签: vb.net math undo


【解决方案1】:

我将假设您有一个文本框 (NumberBox) 供用户输入数字,一个标签 (TotalLabel) 用于显示总数,一个按钮 (AddButton) 用于将 Numberbox 中的数字添加到总数中和另一个按钮 (UndoButton) 来撤消最后的添加。

Private total, savedTotal As Double, canUndo As Boolean

Sub AddButton_Click(sender As Object, e As EventArgs) Handles AddButton.Click
    Dim number As Double
    If Not Double.TryParse(NumberBox.Text, number) Then
        MessageBox.Show("Please enter a valid number")
        Exit Sub 
    End If

    savedTotal = total 
    canUndo = True 
    total += number 
    TotalLabel.Text = total.ToString 
End Sub

Sub UndoButton_Click(sender As Object, e As EventArgs) Handles UndoButton.Click
    If canUndo Then
        total = savedTotal 
        canUndo = False 
        TotalLabel.Text = total.ToString 
    Else
        MessageBox.Show("Can't undo")
    End If
End Sub

请注意,此代码仅支持单个撤消操作。如果您想要多个撤消操作,则需要将所有以前的值存储在一个集合中,例如堆栈。

【讨论】:

  • 感谢布莱克伍德,并向其他所有人道歉,因为问题最初缺乏细节。
猜你喜欢
  • 1970-01-01
  • 2017-06-30
  • 2020-12-11
  • 1970-01-01
  • 2013-07-08
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
  • 1970-01-01
相关资源
最近更新 更多