나는 contextmenustrip dorpdownitem을 클릭하는 동안 마우스 커서로 현재 단어를 바꾸려고합니다. 나는 단어를 얻을 수 있지만 여기에 새로운 단어로 대체 할 수 없다는 것은 내 코드이다. 어떤 도움도 크게 감사한다. 이richtextbox에서 마우스 밑의 단어 대체 vb.net
0
A
답변
1
확인을 할 때
Private Sub tsmmutradifat__DropDownItemClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles tsmmutradifat_.DropDownItemClicked
Dim myclickeditem As String = correct_word(e.ClickedItem.Text)
Dim wordtoreplace As String
If Not myclickeditem = Nothing Then
If RichTextBox1.SelectedText = "" Then
' Code required
Else
wordtoreplace = RichTextBox1.SelectedText
If wordtoreplace.EndsWith(" ") Then
myclickeditem = myclickeditem & " "
End If
If wordtoreplace.StartsWith(" ") Then
myclickeditem = " " & myclickeditem
End If
RichTextBox1.SelectedText = myclickeditem
End If
End If
End Sub
확인은 미래의 시간을 볼 수 있습니다. 포럼에서 아래 코드를 찾아 내 필요에 따라 약간 이상하지만 작동하도록 변경했습니다. 마우스 이동 이벤트에서 는
Public cursorAt As Integer
Public wordEnd As Integer
Public isEnd As Boolean
Public wordStart As Integer
cursorAt = RichTextBox1.GetCharIndexFromPosition(e.Location)
If cursorAt = 0 Then Return
wordEnd = New Regex("[\s$]{1}").Match(RichTextBox1.Text.Substring(cursorAt)).Index
isEnd = Not New Regex("\s").IsMatch(RichTextBox1.Text.Substring(cursorAt))
wordStart = New Regex("[\s^]{1}", RegexOptions.RightToLeft).Match(RichTextBox1.Text.Substring(0, cursorAt)).Index
If isEnd Then
RichTextBox1.Select(wordStart, RichTextBox1.Text.Length)
Else
RichTextBox1.Select(wordStart, cursorAt - wordStart + wordEnd)
End If
다음 단순히 단어 다음
RichTextBox1.SelectedText = myclickeditem
-1
F6.RichTextBox1.Focus() SendKeys.Send (TextBox4.Text를) 대체는
-1
나는 코드가 제안 생각 user934820에 의해 개선 될 수 있습니다. "\ b"를 사용하면 단어 경계를 더 잘 찾을 수 있습니다. 보너스로 텍스트 끝의 경우를 무시할 수 있습니다 (단어 경계이기도 함). 그래서 코드는
wordEnd = New Regex(".\b{1}").Match(RichTextBox1.Text.Substring(cursorAt)).Index
wordStart = New Regex("\b.{1}", RegexOptions.RightToLeft).Match(RichTextBox1.Text.Substring(0, cursorAt)).Index
RichTextBox1.Select(wordStart, cursorAt - wordStart + wordEnd + 1)
바랍니다 모습이 검색 (원래의 코드와 같이) 단어 NOT 그 후 공간에 매우 마지막 문자를 반환 할 것이라고주의를 기울여야 할 것이다. 필요한 경우 (Selection과 같이) 1 씩 증가시킵니다.
관련 문제
- 1. 대체 단어
- 2. vb.net의 richtextbox에서 단어 단위로 단어를 검색하는 방법
- 3. RichTextBox에서 마우스 커서 위치의 좌표 찾기
- 4. RichTextBox에서 마우스 오른쪽 버튼을 어떻게 처리합니까?
- 5. VB.NET 열기 단어 문서
- 6. 전체 단어 대체 PHP에서
- 7. 마우스 밑의 버튼 활성화 : OVER 이벤트는 어떻게 캡처합니까?
- 8. VB.NET - 마우스 좌표
- 9. Windows에서 마우스 커서 대체
- 10. 간단한 단어 VBA 대체 매크로
- 11. VB.NET 키보드 및 마우스 비활성화
- 12. 바로 밑의 모든 아이들을 만나보세요.
- 13. 링크 된 이미지 밑의 여백
- 14. 수학 함수 밑의 면적 계산
- 15. VB.NET : 단어 분할. 구분 기호 없음
- 16. 마우스 포인터 아래 단어 가져 오기
- 17. 마우스 커서 아래에 단어 가져 오기
- 18. VB.net flash XMLSocket 대체 응용 프로그램
- 19. Tabcontrol, vb.net, 스타일 위에 탭 버튼 마우스
- 20. JQuery : 동적 이미지가 마우스 오버시 대체 하시겠습니까?
- 21. 마우스 드라이버를 먹이는 것은 리눅스에서 대체 데이터
- 22. 대체 기본 메뉴 (항목) 마우스 반응
- 23. vb.net
- 24. VB.NET
- 25. TextBox 표시가 RichTextBox에서 반환됩니까?
- 26. RichTextBox에서 글꼴 속성 설정
- 27. RichTextBox에서 링크 색상 변경
- 28. richtextBox에서 공간을 제거하는 방법
- 29. RichTextBox에서 소프트 리턴 추가
- 30. WPF RichTextBox에서 제한 작성
그래서 '도움이 필요한 코드'가 무엇입니까? – Jared
가지고있는 코드에 대해 어떻게 작동하지 않습니까? –
'도움이 필요한 코드가 필요합니까? 예, 가지고있는 코드에 대해 어떻게 작동하지 않습니까? acctualy 대체 할 단어와 바꿀 단어가 모두 있지만 커서가 현재 어디에 있는지 어떻게 알 수없고 내 단어를 바꿀 수있는 방법은 무엇입니까? – user934820