基本上我有一个RichTextBox,TextBox和一个Button。 RichTextBox中包含一些文本,Textbox用于键入单词,按钮用于查找单词。到目前为止我用的是:
Dim index As Integer = 0
Dim temp As String = txtbx_Write.Text
txtbx_Write.Text = String.Empty
txtbx_Write.Text = temp
While index < txtbx_Write.Text.LastIndexOf(TextBox1.Text)
txtbx_Write.Find(TextBox1.Text, index, txtbx_Write.TextLength, RichTextBoxFinds.None)
txtbx_Write.SelectionBackColor = Color.DarkGray
index = txtbx_Write.Text.IndexOf(TextBox1.Text, index) + 1
End While
基本上这是做什么的,当我输入例如&#34;&#34;,如果有&#34;&#34;&#34;在RichTextBox中,它将为该单词设置一个背景颜色,它将为每个&#34;&#34;字。
我想要做的是,当我输入单词&#34;&#34;时,会有一个标签显示结果的数量,并且每次用户点击&#34 ;查找与#34;按钮,它将选择单词&#34;&#34;并继续选择并继续前进,直到不再有。
非常类似于原生记事本查找功能,它选择并浏览每个单词。
答案 0 :(得分:4)
不确定你要对那个临时变量做什么......你可能想要写一些东西来清除背景颜色。
无论如何,你可以为你的&#34;发现&#34;按钮:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If Not RichTextBox1.Focused Then
RichTextBox1.Focus()
End If
RichTextBox1.Find(TextBox1.Text, RichTextBox1.SelectionStart + RichTextBox1.SelectionLength, RichTextBoxFinds.None)
End Sub
了解更多详情,了解MSDN中的查找方法。
编辑:为了找到点击结果的数量,您可以简单地计算&#34;突出显示&#34; while循环。因为您必须通过所有单词来突出显示它们,所以信息已经存在。
示例代码:
Dim index As Integer = 0
Dim count As Integer = 0
While index < RichTextBox1.Text.LastIndexOf(TextBox1.Text)
RichTextBox1.Find(TextBox1.Text,index,RichTextBox1.TextLength,
RichTextBoxFinds.None)
RichTextBox1.SelectionBackColor = Color.DarkGray
index = RichTextBox1.Text.IndexOf(TextBox1.Text, index) + 1
count = count + 1
End While
计数将保留结果金额。