我有一个文本框(1),它会在文本框(2)更新后自动计算并显示输入。Textbox(1) 设置为 enabled = false ,因此用户无法输入任何值,因为它会自动更新。
我想在更改/更新后在 Textbox(1) 中显示数字。我曾尝试使用 Textbox(1) 的 AfterUpdate 属性,但由于用户没有实际更新该值,因此无法正常工作。
当文本框中的数字发生变化并将数字存储在另一个文本框中时,有什么方法可以检测到变化?
正如其他人已经说过的那样,如果用户输入内容Textbox2
并且您想将其显示在 中Textbox1
,那么您必须使用事件Textbox2
,而不是Textbox1
!
最简单的方法是AfterUpdate
使用Textbox2
.
例子:
Private Sub Textbox2_AfterUpdate()
Me.Textbox1 = "Text from second textbox: " & Me.Textbox2
End Sub
您可以使用 OnLostFocus ( http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onlostfocus.aspx ) 来判断用户的焦点何时离开文本框。
否则,您可以使用 OnKeyPress ( http://msdn.microsoft.com/en-us/library/system.windows.forms.control.onkeypress.aspx ) 和计时器来判断自上次击键以来的时间。