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

时间:2018-10-27 23:42:21

标签: vb.net numericupdown

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

form

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

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

我想对这些组件进行的操作是每次在NumericUpDown上按下“向上”时,我希望将点变量减小1(按下向下时的Vise-Versa)。我面临的主要问题是我不知道如何检查NumericUpDown是否被按下或按下。

如果你们知道另一种更好的方法来解决这种疾病,请100%尝试一下,因为这种方法看起来很可怕。

3 个答案:

答案 0 :(得分:0)

就像其他控件一样,NumericUpDown具有可以包含您的代码的事件。只要用户使用向上向下箭头,ValueChanged事件就应该起作用,因为当用户按下这些箭头时会触发该事件。但是,用户可以输入一个金额,并且该事件只有在用户单击表单上的其他位置时才会触发。因此,您可能希望将代码移至“更新点”按钮,而不是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

答案 1 :(得分:-1)

这应该为您提供所需的一切,以弄清如何完成您所要的事情:

front

答案 2 :(得分:-2)

使用NumericUpDown1.Text获得当前/之前的编辑值 以及当前的NumericUpDown1.Value

然后比较它们,然后做您需要做的任何事情。

例如:

    If CInt(NumericUpDown1.Text) < NumericUpDown1.Value Then
        Debug.Print("Increased") '-1 in your 9 
    Else
        Debug.Print("Decreased") '+1 in your 9
    End If