如何减去 VB 中添加的最后一个数字

How do I subtract the last figure added to a total in VB

我想创建一个按钮来撤消 VB.NET 中的数学过程。

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

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

我可以通过选择 'Clear Last Item' 按钮轻松删除列表中的条目。但是 '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

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

我假设您有一个供用户输入数字的文本框 (NumberBox)、一个显示总数的标签 (TotalLabel)、一个用于将 Numberbox 中的数字添加到的按钮 (AddButton)总数和另一个按钮 (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

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