위의 목표는 달성하기가 다소 어렵다는 것을 알고 있지만, 수행 할 수 있음을 알고 있습니다.IDE 에서뿐만 아니라 작동하는 vb.net에 대한 효율적이고 깜박임없는 구문 highligher
내가 만든 사람은 무엇을 :
그것은 일치의 경우, 물리적으로 텍스트를 선택하고 색상을 변경하고, 마침내에 캐럿을 반환합니다 목록에서 단어에 각 단어를 비교그것이 강조되었을 때의 위치. 이와
문제 :
점멸. 항상 깜박입니다. 나는 스레드가 50 밀리 초 동안 잠자기 상태가되도록하여 깜박임 현상을 줄 였지만, 완전히 제거하지 못했습니다. (타이핑도 느려지지 않았습니다.) 자, 내가 시도한 또 다른 점은 두 번째 RichTextBox를 사용하여 강조 표시를하는 것이지만 전혀 별다른 차이가 없다는 것입니다.
스크롤링. 텍스트의 크기가 커서 스크롤 막대가 나타나기에 충분할 경우 RichTextBox를 스크롤합니다.
텍스트 삭제 중. 강조 표시된 단어의 일부를 삭제하면 단어가 변경된 경우에도 색상 서식이 유지됩니다. Itll은 또한 전체 단어를 물리적으로 선택하기 때문에 끝없이 나를 당황하게합니다.
창 닫기. RichTextBox의 TextChanged 이벤트가 호출 될 때마다 강조 서브 루틴이 호출되기 때문에 분명히 창이 닫힐 때 해고됩니까? 그러나 창이 닫히기 때문에 전체 프로세스의 속도가 느려지므로 큰 파일의 경우 각 키워드를 강조 표시하고 강조 표시하는 데 5-10 초가 걸릴 수 있습니다.
어떻게 이러한 문제를 해결할 수 있습니까? 나는 다른 사람의 구성 요소를 사용하고 싶지 않고, 특별히 내 자신을 사용하고 싶습니다.
도움을 주셔서 감사합니다. 몇 시간을 보냈으며 지금까지 결과에 만족합니다.
어떤 아이디어를 내가 있었다 :
물리적으로 대신 텍스트 색상을 변경하는 방법에 내장이 내 모든 문제를 없애 것이다 사용의 RTF를 편집 할 수 있습니다. 키워드가 "The"(예를 들어)라고 가정하면 rtf가 파란색으로 바뀌게하려면 어떻게해야할까요? 비주얼 스튜디오에서 일뿐만 아니라 작동하여 RichTextBox에 대한 구문 형광펜 :
- 구문 강조 (여기 최후의 수단)
내 최종 목표를 사용하지 마십시오.
편집 : RichTextBox보다 더 나은 다른 구성 요소가 있습니까?
Winforms, thanks! 귀하의 게시물을 확인하십시오. – Cyclone