Замените определенное слово в текстовом поле на vb и извлеките всю строку после

#vb.net

#vb.net

Вопрос:

Я хочу создать приложение, которое заменяет выбранное пользователем слово символами подчеркивания, проблема здесь в том, что оно делает это хорошо, однако оно возвращает не всю строку, а сами символы подчеркивания.

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

Generateunderscores — это созданная мной функция, которая возвращает символы подчеркивания в зависимости от количества букв в выбранном тексте

tbText — это текстовое поле, когда пользователь выделяет его, я хочу, чтобы эта функция запускалась. Это заменит выделенный текст подчеркиванием.

Обратите внимание, как я создаю tbText.Текст содержит это, затем он становится ТОЛЬКО подчеркиванием без остальной части текста в текстовом поле.

Как я могу вернуть текст в текстовом поле, а также символы подчеркивания в нем? Я пытался использовать замену строки, однако проблема заключалась в том, что вместо ОДНОГО слова, которое я хотел удалить (выделенное слово), было найдено несколько слов

Спасибо.

Ответ №1:

when a user highlights it I want this function to run Я не знаю, как вы будете выполнять эту часть, потому TextSelected что события or нет 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
 

Я не уверен, что Replace функция VB не будет делать то же самое, что String.Replace

Комментарии:

1. Я не могу поверить, насколько это было просто, и я все еще не мог разобраться с этим. Решением этой проблемы было создание selectedtext = подчеркивания. Большое спасибо!