写出在文本框输入“321”(3个字符)并按回车后标签控件上显示的结果

PrivateSubText1_KeyPress(KeyAsciiAsInteger)DimaAsString*1,bAsString,nAsByte,iAsIntege... 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

运行了一遍出不来结果,求大神指导
展开
 我来答
麴世tC
2016-06-24 · TA获得超过1022个赞
知道小有建树答主
回答量:944
采纳率:0%
帮助的人:268万
展开全部
我测试过,以下可行。
按照您的设计,将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
听不清啊
高粉答主

2016-06-24 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
程序中有错啊。枣脊毕
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"凳芹
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式