#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 = подчеркивания. Большое спасибо!