我有一个NumericUpDown
,其中有向上和向下箭头输入整数。所有设置但我想通过单击禁用手动输入值。我希望用户只能通过向上和向下箭头更改值。有人可以指导我如何实现这一点。
目前我已添加 ValueChanged事件来处理一些逻辑。但是当值被手动改变时,该事件不会被触发。请指导我。
答案 0 :(得分:3)
每当有人在控件具有焦点时按下某个键时,这将触发。
Private Sub NumericUpDown1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles NumericUpDown1.KeyPress
e.Handled = True
End Sub
所有这一切都有效地拦截了按键,并告诉系统按键已经在你的sub中处理了twith,并且不会进一步处理按键。
答案 1 :(得分:3)
除了处理关键事件外,您还可以将控件的编辑部分设为只读:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DirectCast(Me.NumericUpDown1.Controls(1), TextBox).ReadOnly= True
DirectCast(Me.NumericUpDown1.Controls(1), TextBox).BackColor= Color.White
End Sub
NumericUpDown是一个复合控件,包含自定义TextBox
和Buttons
部分的自定义控件。你可以对这些控件做任何事情。处理这些事件,更改属性等。