数字更新vb.net

时间:2009-12-23 20:15:57

标签: vb.net

我有一个数字向上,我希望它可以添加或减去一个,具体取决于是按下向上或向下箭头。我有下面的代码,但它只能从变量中减去一个。

  Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
        If ComboBox1.SelectedIndex = 0 Then
            seatsA = seatsA - 1
            TextBox2.Text = seatsA
        ElseIf ComboBox1.SelectedIndex = 1 Then
            seatsB = seatsB - 1
            TextBox2.Text = seatsB
        ElseIf ComboBox1.SelectedIndex = 2 Then
            seatsC = seatsC - 1
            TextBox2.Text = seatsC
        End If
End Sub

编辑:如果更改了数字更新值,变量会存储此更改,每个comboBox都有自己的变量,因为它需要存储每个值的值。即,如果seatsA为20,则当用户返回到所选索引时,将显示一个20。

座位以数字开头...例如75,当数字更新增加时,每个座位(a,b,c)的席位值取消一个

由于

1 个答案:

答案 0 :(得分:2)

您希望TextBox2与NumericUpDown1具有相同的值吗?如果是这种情况,您可以简单地执行此操作:

Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
        TextBox2.Text = NumericUpDown1.Value
End Sub

修改

根据我对您的编辑的理解,当您选择的索引更改时,您要在此处执行的操作是为NumericUpDown设置正确的值。你可以这样做:

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        If ComboBox1.SelectedIndex = 0 Then
            NumericUpDown1.Value = seatsA
        ElseIf ComboBox1.SelectedIndex = 1 Then
            NumericUpDown1.Value = seatsB
        End If
End Sub

然后,为了保存值更改,您可以执行以下操作:

Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
        If ComboBox1.SelectedIndex = 0 Then
            seatsA = NumericUpDown1.Value
        ElseIf ComboBox1.SelectedIndex = 1 Then
            seatsB = NumericUpDown1.Value
        End If
End Sub

其他编辑:

好的......我明白你现在要做什么......

我可以想到两个策略:

  1. 在您的表单中,有一个LastNumericUpDownValue成员,您可以在其中保留numericupdown的最后一个值。然后将当前值与最后一个值进行比较,并且您将知道该值是递增还是递减。

  2. 在加载表单时,将原始席位数保留为表单的成员。然后当NumericUpDownValue1更改时,您可以计算出seatA = originalNumberOfSeats - seatsRequired(NumericUpDown1的值)