在搜索表单中添加“下一步”按钮

时间:2013-03-18 00:58:44

标签: vb.net winforms

我写了一个基本的搜索表单,它搜索TextBox的文本并突出显示搜索词的第一个实例(如果找到),到目前为止我有这段代码但是想以某种方式实现“下一步”按钮单击时将转到下一个实例,再次单击并转到下一个等等。任何人都可以帮助我吗?

Dim Search As String
        Dim Find As String
        Search = TextBox1.Text
        Find = InStr(Form1.TextBox1.Text, Search)
        If Find Then
            Form1.TextBox1.Focus()
            Form1.TextBox1.SelectionStart = Find - 1
            Form1.TextBox1.SelectionLength = Len(Search)
        Else
            MsgBox("Can't find the text:" & Environment.NewLine & Search)
        End If

1 个答案:

答案 0 :(得分:0)

InStr函数有一个参数,可让您从特定索引开始搜索。在这种情况下,它将是已找到的单词的索引加上单词本身的长度。

Find = InStr(Find + Len(Search), Form1.TextBox1.Text, Search)

在这种情况下,我们从位置Find + Len(Search)开始。未经测试,但我认为应该做你想要的。

可能是过早优化但您可以存储搜索词的长度,因此每次按下Next按钮时都不必计算。