如何仅通过向上和向下箭头允许在NumericUpDown中输入

时间:2017-12-06 20:10:03

标签: .net vb.net winforms numericupdown

我有一个NumericUpDown,其中有向上和向下箭头输入整数。所有设置但我想通过单击禁用手动输入值。我希望用户只能通过向上和向下箭头更改值。有人可以指导我如何实现这一点。

enter image description here

目前我已添加 ValueChanged事件来处理一些逻辑。但是当值被手动改变时,该事件不会被触发。请指导我。

enter image description here

2 个答案:

答案 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是一个复合控件,包含自定义TextBoxButtons部分的自定义控件。你可以对这些控件做任何事情。处理这些事件,更改属性等。