noob问题在这里。我正在尝试编写一个程序,以便当有人在标签上点击鼠标左键时,文本框中的值增加1.当右键点击它时,值减1。不希望价值能够成为负数。我试图阻止它的发生,并且它在文本框中已经存在正值时起作用。但是,如果在左键单击标签之前(在文本框中有任何值之前)右键单击该标签,它仍会变为“-1”,然后在此处停止。下面是我使用的代码:如何不允许文本框有负值? (Visual Basic)
Private Sub Label5_MouseClick(sender As Object, e As MouseEventArgs) Handles Label5.MouseClick
If e.Button = MouseButtons.Left Then
SawWhetOwl.Text = (Val(SawWhetOwl.Text) + 1).ToString()
Label5.Text = SawWhetOwl.Text
ElseIf e.Button = MouseButtons.Right Then
If SawWhetOwl.Text = CInt(SawWhetOwl.Text < 0) Then
Exit Sub
Else
SawWhetOwl.Text = (Val(SawWhetOwl.Text) - 1).ToString()
Label5.Text = SawWhetOwl.Text
End If
End If
End Sub
的问题,我认为,是在文本框中的值出发为空,没有分配给它的价值。因此,当我给它赋值之前右键单击它时,它不能计算它是否小于0,它只是给我-1,我想。我很困惑,抱歉如果这个问题很混乱。我错过了明显的东西吗?
您可能需要使用的NumericUpDown如果数值或范围是很重要的 – Plutonix
我将如何申请,在代码,我张贴?我是绝对的编程初学者,所以我真的不知道那是什么。 – onemillionwords17
它们在控制工具箱中 - 而不是文本框(用于文本)使用“NumericUpDown”来收集数字。它有最小,最大和小数位的属性,以允许你想要的 – Plutonix