사용자가 선택한 단어를 밑줄로 대체하는 응용 프로그램을 만들려고합니다. 여기서 문제는 잘 작동하지만 전체 문자열을 반환하지 않고 밑줄 자체를 반환한다는 것입니다.
tbText.Text = Replace(tbText.Text, tbText.SelectedText,
generateUnderscores(tbText.SelectedText), tbText.SelectionStart, 1)
Generateunderscores는 선택한 텍스트의 문자 수에 따라 밑줄을 반환하는 내가 만든 함수입니다.
tbText는 텍스트 상자이며 사용자가 강조 표시하면이 기능이 실행되기를 원합니다. 그러면 선택한 텍스트가 밑줄로 바뀝니다.
tbText.Text에 이것을 포함하는 방법에 주목하십시오. 그러면 텍스트 상자의 나머지 텍스트없이 밑줄 만됩니다.
텍스트 상자의 텍스트와 밑줄을 어떻게 반환 할 수 있습니까? 나는 문자열 교체를 사용하려고 시도했지만 그 문제는 내가 원하는 하나의 단어 대신 여러 단어를 찾았다는 것입니다 (선택한 단어)
감사.
when a user highlights it I want this function to run
TextSelected
또는 SelectedTextChanged
이벤트 가 없기 때문에이 부분을 어떻게 수행할지 모르겠습니다 . 마우스 오른쪽 버튼을 사용했습니다. Left Mouse Up을 사용해 볼 수 있지만 이는 사용자가 실수를하거나 선택한 내용을 변경하고 싶어도 텍스트가 변경된다는 것을 의미합니다.
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
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다