1

有些人试图在输入文本框时解决此类问题。他们或多或少成功地解决了这个问题。
我试图通过对 NumericUpDown 控件进行子类化来做同样的事情,但没有成功。
这是我的代码:

Public Class xNumericUpDown
Inherits NumericUpDown

Private _focused As Boolean

Protected Overrides Sub OnEnter(ByVal e As EventArgs)
    MyBase.OnEnter(e)
    If MouseButtons = MouseButtons.None Then
        Me.Select(0, Me.Text.Length)
        _focused = True
    End If
End Sub

Protected Overrides Sub OnLeave(ByVal e As EventArgs)
    MyBase.OnLeave(e)
    _focused = False
End Sub

Protected Overrides Sub OnMouseUp(ByVal mevent As MouseEventArgs)
    MyBase.OnMouseUp(mevent)
    If Not _focused Then
        If Me.Text.Length = 0 Then
            Me.Select(0, Me.Text.Length)
        End If
        _focused = True
    End If
End Sub
End Class

这通过使用键盘输入来选择全部,但在使用鼠标选择控制时不起作用。

任何解决该问题的帮助将不胜感激。

4

1 回答 1

1

您可能会踢自己,但请尝试将您的代码更改为:

If Me.Text.Length > 0 Then
  Me.Select(0, Me.Text.Length)
End If
于 2013-10-19T12:48:33.060 回答