VB 在TEXT控件中搜索字符串的问题

比如在TEXT1是中的字符串在TEXT2中查找并且光标移动到那。。。求代码最好有函数的详细用法和查找下一个位置方式。。。谢了~~~... 比如在TEXT1是中的字符串 在TEXT2中查找 并且光标移动到那。。。求代码 最好有函数的详细用法 和 查找下一个位置方式。。。谢了~~~ 展开
 我来答
Saroman0de9
2010-09-03 · TA获得超过748个赞
知道小有建树答主
回答量:855
采纳率:0%
帮助的人:849万
展开全部
在窗体上画一个CommandBotton,名称为command1
在代码窗写下下边过程

Option Explicit

Private Sub Command1_Click()

Text2.SetFocus
'这里的作用是将焦点转给Text2,不然没有办法看到光标在哪里

If InStr(TempPos, Text2.Text, Text1.Text) = 0 Then Exit Sub
'先去看边的注释吧~看了下边的就明白这里是为什么了~ ^^

Text2.SelStart = InStr(1, Text2.Text, Text1.Text) - 1
'text2.selstart的意思是设置text2中光标的位置,
'后边的instr函数是查找text1字符串在text2字符串中的位置,起始查找位为1,意思就是从头开始查找.如果没有找到,instr会返回0
'最后边减的那个1是因为文本框的最左边被定义为0(这是公认的),然后向右会依次累加
'而instr认为那个位置是1,并且返回的值也会比实际的大1
'嗯嗯~
'如果你想作出"查找下一个"功能,可以试着写写,将本次查找的位置记录下来,比如说记录到某TempPos变量里
'"查找下一个"的功能就是Text2.SelStart = InStr(TempPos, Text2.Text, Text1.Text) - 1这样.
'当然,TempPos要用Static来定义或着干脆定义成模块级变量
'而且你还要再加上判断TempPos是不是<=0,因为Instr的第一个参数是不能小于0滴~
'尤其是在初始化的时候,如果不刻意给TempPos赋值的话,那TempPos就会为0,这样就会出错~
'所以建议在Form_Load过程中给TempPos一个值...呃...扯远了...

Text2.SelLength = Len(Text1.Text)
'这个功能是临近教师节的大奉送~
'text2.sellength的作用是设置text2中被选中的文本长度,就是用鼠标划上一串字符的高亮效果~
'Len()的作用当然就是返回text1.text的字符串长度了~

End Sub

上边的代码贴到VB的编辑器里比较容易看清~因为注释会变色~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式