一、问题描述:
在文本框的更改事件写的代码如下:
Private Sub Text0_Change()
MsgBox Me.Text0
End Sub
运行时报错:无效使用NULL,经过查阅资料发现原因如下:因为当前的文本控件Text0此时还获得焦点,所以仅仅只是更改了Me.Text0.Text属性,而他的Me.Text0.Value属性还未更改,所以会报这个错误。
二、解决方法:
代码修改为如下的样子:
Private Sub Text0_Change()
Dim srt As Integer: srt = Me.Text0.SelStart '获取当前鼠标光标的位置(只有文本控件的更改事件需要写这一句)
Me.Dirty = False '保存当前窗体所有控件的Value的值
MsgBox Me.Text0
Me.Text0.SelStart = srt '重新设置鼠标光标的位置(只有文本控件的更改事件需要写这一句)
Me.Text0.SelLength = 0 '默认选中的文本长度为0(只有文本控件的更改事件需要写这一句)
End Sub