我希望创建一个用下划线替换用户所选单词的应用程序,这里的问题是它做得很好,但是,它不返回整个字符串,而是返回下划线本身。 / p>
tbText.Text = Replace(tbText.Text, tbText.SelectedText,
generateUnderscores(tbText.SelectedText), tbText.SelectionStart, 1)
Generateunderscores是我创建的一个函数,它根据所选文本中的字母数返回下划线
tbText是文本框,当用户突出显示它时,我想要运行此功能。这将用下划线替换所选文本。
注意我如何使tbText.Text包含它,然后它变成只有下划线而没有文本框中的其余文本。
如何返回文本框中的文本以及文本框中的下划线? 我尝试过使用字符串替换,但问题是它找到了多个单词而不是我想删除的单词(选择单词)
感谢。
答案 0 :(得分:1)
when a user highlights it I want this function to run
我不知道你将如何做这部分,因为没有TextSelected
或SelectedTextChanged
事件。我用鼠标右键。您可以尝试使用鼠标左键,但这意味着即使用户想犯错误或想要更改所选内容,文本也会更改。
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