我有一个数字向上,我希望它可以添加或减去一个,具体取决于是按下向上或向下箭头。我有下面的代码,但它只能从变量中减去一个。
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)的席位值取消一个
由于
答案 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
其他编辑:
好的......我明白你现在要做什么......
我可以想到两个策略:
在您的表单中,有一个LastNumericUpDownValue成员,您可以在其中保留numericupdown的最后一个值。然后将当前值与最后一个值进行比较,并且您将知道该值是递增还是递减。
在加载表单时,将原始席位数保留为表单的成员。然后当NumericUpDownValue1更改时,您可以计算出seatA = originalNumberOfSeats - seatsRequired(NumericUpDown1的值)