将VB.net用于Windows窗体应用程序。我已经厌倦了总是必须退出数字更新控件的默认值'0'。我想要做的是在输入时自动选择值,这样我就可以输入它。
我试过这个:
Private Sub updown1_Enter(sender As Object, e As EventArgs) Handles updown1.Enter
Me.updown1.Select(0, updown1.Text.Length)
End Sub
我使用了一个断点来验证它确实运行了,但它似乎没有做任何事情。我错过了什么?
答案 0 :(得分:1)
您的代码实际上正在按预期选择值,它几乎瞬间被鼠标事件撤消。单击以输入NumericUpDown时,事件将按以下顺序触发:
您可能知道,在包含文本字段的控件中,本机行为会将光标放在文本框内单击的位置。这就是造成问题的原因。您已在Enter处选择了文本,但随后出现了一系列鼠标事件并撤消了所有您的辛勤工作。显而易见的解决方案是只使用MouseUp事件,因为列表末尾的事件,但MouseUp将触发您在控件内单击的任何位置,因此您必须确定该行为是否可以接受