我测试过,以下可行。
按照您的设计,将text2的属性“控件来源”设置为=Len([Text1])
将text1的属性“事件”中的“更改”事件设置如下:
Private Sub Text1_Change() \\'用“更改”事件会保证每键入或消除一个字符都激发事件,达到
你的要求,既动态变化
Me.Recalc ‘重新计算窗体上的计算控件,既每次text1更新时,计算text2的值
Me.Text1.SelStart = Nz(Len(Me.Text1) ) \\'selstart确定选取文本的起始位置,实际上要达到光标
在文本的最后位置,用NZ()函数能保证文本框为null值时,
它值为0, 光标在起始位置
End Sub
程序中有错啊。
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim a As String * 1, b As String, n As Byte, i As Integer
If KeyAscii = 13 Then
b = Text1.Text: n = Len(b)
For i = 1 To n \ 2
a = Left(b, 1)
b = Right(b, n - 1) + a
Label1.Caption = Label1.Caption + b + vbCrLf
Next i
End If
End Sub
运行后,会出现"213"