用vb替换文本框中的某个单词,然后检索整个字符串

时间:2014-06-28 01:16:06

标签: vb.net

我希望创建一个用下划线替换用户所选单词的应用程序,这里的问题是它做得很好,但是,它不返回整个字符串,而是返回下划线本身。 / p>

tbText.Text = Replace(tbText.Text, tbText.SelectedText,
      generateUnderscores(tbText.SelectedText), tbText.SelectionStart, 1)

Generateunderscores是我创建的一个函数,它根据所选文本中的字母数返回下划线

tbText是文本框,当用户突出显示它时,我想要运行此功能。这将用下划线替换所选文本。

注意我如何使tbText.Text包含它,然后它变成只有下划线而没有文本框中的其余文本。

如何返回文本框中的文本以及文本框中的下划线? 我尝试过使用字符串替换,但问题是它找到了多个单词而不是我想删除的单词(选择单词)

感谢。

1 个答案:

答案 0 :(得分:1)

when a user highlights it I want this function to run我不知道你将如何做这部分,因为没有TextSelectedSelectedTextChanged事件。我用鼠标右键。您可以尝试使用鼠标左键,但这意味着即使用户想犯错误或想要更改所选内容,文本也会更改。

Private Sub TextBox1_MouseDown(sender As Object, e As MouseEventArgs) 
                  Handles TextBox1.MouseDown
    If e.Button = Windows.Forms.MouseButtons.Right AndAlso 
               TextBox1.SelectedText.Length > 0 Then

        TextBox1.SelectedText = MakeUnderScores(TextBox1.SelectedText.Length)

    End If
End Sub

Function MakeUnderScores(n As Integer) As String
    Return New String("_"c, n)
End Function

我不确定VB的Replace功能是否与String.Replace

相同