Vb.net 处理+++;,-,-按钮→;获取按钮无论如何都会产生的下一个值
标有一个加号的按钮和一个减号的按钮将文本框中的值增加/减少0.1 标有2个加号的按钮和标有2个减号的按钮将文本框中的值增加/减少1.0 标有3个加号的按钮和标有3个减号的按钮将文本框中的值增加/减少9.0 但是 如果文本框中存在扭曲的值,则该值应跳转到下一个更高的值,该Vb.net 处理+++;,-,-按钮→;获取按钮无论如何都会产生的下一个值,vb.net,Vb.net,标有一个加号的按钮和一个减号的按钮将文本框中的值增加/减少0.1 标有2个加号的按钮和标有2个减号的按钮将文本框中的值增加/减少1.0 标有3个加号的按钮和标有3个减号的按钮将文本框中的值增加/减少9.0 但是 如果文本框中存在扭曲的值,则该值应跳转到下一个更高的值,该+按钮可以并且无论如何都会产生该值。示例:1007.99变为1008 如果文本框中存在扭曲的值,则该值应跳转到该++按钮可能产生的下一个更高的值。示例:1007.99变为1009 如果文本框中存在扭曲的值,则该值应跳转到该++按钮
+
按钮可以并且无论如何都会产生该值。示例:1007.99变为1008
如果文本框中存在扭曲的值,则该值应跳转到该++
按钮可能产生的下一个更高的值。示例:1007.99变为1009
如果文本框中存在扭曲的值,则该值应跳转到该++
按钮可能产生的下一个更高的值。示例:1007.99变为1017
使用++
按钮,1008.40的值变为1009。
使用--
按钮,1008.40的值变为1008
这同样适用于标有减号的按钮
我怎样才能开始呢
==================================================
编辑
我用这个代码试过了。我唯一还有的问题是
+
按钮和-
按钮。车还开着。1007.99-无论我点击的频率有多高,都不会低于1007.9,也不会超过1008.1。对于1007.9到1008之间的取整和减去0.1,这似乎是一个不合适的解决方案。我无法说明逻辑应该如何工作,因为在您的一些示例中,我无法理解取整规则
不过,我可以提供另一种方法来简化代码。您可以让按钮按下的事件处理程序简单地调用一个固定的子例程,其中您的逻辑可以位于一个位置,这更易于编辑和管理:
Private Sub SetValue(delta As Double)
Dim value As Double
If Not Double.TryParse(TextBox2.Text, System.Globalization.NumberStyles.Float, Deu, value) Then
Throw New ArgumentException($"Current value {TextBox2.Text} is invalid.")
End If
Dim newValue = Math.Round(value, 1) + delta
TextBox2.Text = newValue.ToString(Deu)
End Sub
Private Sub Button_3Minus_Click(sender As Object, e As EventArgs) Handles Button_3Minus.Click
SetValue(-9.0)
End Sub
Private Sub Button_2Minus_Click(sender As Object, e As EventArgs) Handles Button_2Minus.Click
SetValue(-1.0)
End Sub
Private Sub Button_1Minus_Click(sender As Object, e As EventArgs) Handles Button_1Minus.Click
SetValue(-0.1)
End Sub
Private Sub Button_1Plus_Click(sender As Object, e As EventArgs) Handles Button_1Plus.Click
SetValue(0.1)
End Sub
Private Sub Button_2Plus_Click(sender As Object, e As EventArgs) Handles Button_2Plus.Click
SetValue(1.0)
End Sub
Private Sub Button_3Plus_Click(sender As Object, e As EventArgs) Handles Button_3Plus.Click
SetValue(9.0)
End Sub
你能发布你迄今为止尝试过的任何代码吗?我编辑了我的问题@ParrishHusband非常感谢!这样效果更好。