使用鼠标在VB.net中增加和减少NumericUpDown控件的值

时间:2013-08-28 15:53:45

标签: vb.net winforms controls numericupdown

我的VB.Net 2.0项目中有一个NumericUpDown控件。当用户在控件内单击鼠标并向左或向右拖动时,我希望控件的值相应增加或减少。

我遇到的问题是,一旦鼠标指针位于控件的边界内并且按下了鼠标按钮,我就无法捕获鼠标移动事件。我已经尝试重写onMouseMove()事件,但是当鼠标移动到NumericUpDown控件的文本框部分时,此事件仅触发一次。但是,当移动到同一控件的向上/向下按钮时,事件会持续触发。

我仍然想保留控件的正常操作:能够输入值,使用向上和向下按钮来更改值等...

任何人都有任何建议尝试?谢谢!

1 个答案:

答案 0 :(得分:1)

鼠标事件转到NUD内的TextBox。您可以从Controls属性获取对它的引用,索引1是文本框:

Public Sub New()
    InitializeComponent()
    AddHandler NumericUpDown1.Controls(1).MouseDown, AddressOf NudMouseDown
    AddHandler NumericUpDown1.Controls(1).MouseMove, AddressOf NudMouseMove
End Sub

这有点违反了规则,但没关系,这种控制永远不会改变。