Visual Basic 如何使用 3 NumericUpDown 组件(或其他方法)递增和递减变量?

Visual Basic How would I Increment and Decrement a variable with 3 NumericUpDown component (Or Another Method)?

所以这是我目前在表格上的内容:

用户输入示例: (例如 NumericUpDown1 = 3,NumericUpDown2 = 1,NumericUpDown3 = 3)

计算机输出示例: (剩下的分数 = 2,推理:9- (3+1+3) = 2)

我想对这些组件做的是每次在 NumericUpDown 上按下 "up" 我希望 points 变量减少 1(按下时 Vise-Versa)。我面临的主要问题是我不知道如何检查 NumericUpDown 是否被向上或向下按下。

如果你们知道一种不同的更好的方法来解决这个问题,请 100% 尝试一下,因为这种方法看起来很糟糕。

这应该会为您提供所需的一切信息,让您了解如何按照您的要求进行操作:

Private Sub NumericUpDowns_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown1.ValueChanged, NumericUpDown2.ValueChanged, NumericUpDown3.ValueChanged
    Me.Label1.Text = (3 * NumericUpDown1.Value + 2 * 3 * NumericUpDown2.Value + 2 * 3 * NumericUpDown3.Value).ToString()
End Sub

与其他控件一样,NumericUpDown 具有可以包含您的代码的事件。只要用户使用上下箭头,ValueChanged 事件就应该起作用,因为当用户按下这些箭头时会触发该事件。但是,用户可以输入一个金额,并且在用户单击表单上的其他地方之前事件不会触发。因此,您可能希望将代码移动到按钮 "Update Points" 而不是 ValueChanged 事件。

Private Sub NumericUpDowns_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown1.ValueChanged, NumericUpDown2.ValueChanged, NumericUpDown3.ValueChanged
        Dim pointsAvailable = CInt(lblPoints.Text)
        Dim pointsUsed = NumericUpDown1.Value + NumericUpDown2.Value + NumericUpDown3.Value
        lblPoints.Text = (pointsAvailable - pointsUsed).ToString
End Sub