아래에 검색 창이있는 RichTextBox
이 있습니다. 내가 검색 기능에 대한 다음 코드를 사용RichTextBox에서 텍스트 선택을 취소하십시오.
TabPage activePage = tabs.SelectedTab;
RichTextBox xmlBox = activePage.Controls.Find("xmlBox", true).Single() as RichTextBox;
xmlBox.DeselectAll();
int index = 0;
int len = xmlBox.TextLength;
int lastIndex = xmlBox.Text.LastIndexOf(tbSearch.Text);
while (index < lastIndex)
{
xmlBox.Find(tbSearch.Text, index, len, RichTextBoxFinds.WholeWord);
xmlBox.SelectionBackColor = Color.Yellow;
index = xmlBox.Text.IndexOf(tbSearch.Text, index) + 1;
}
는 내가 원하는 것은 그 사용자 유형에게 말씀 User
을 말할 수있다. 그가 U
을 입력 할 때 U
을 모두 강조 표시 한 다음 r
을 삭제하면 Use
만 강조 표시됩니다. 나는 DeselectAll()
이 트릭을 할 것이라고 생각했지만, 이것은 효과가 없습니다. 다른 방법이 있나요?
DeselectAll()은 현재 선택된 항목을 선택 취소합니다. 귀하의 코드는 실제로 이전 텍스트의 BackColor()를 변경 했으므로이 작업을 실행 취소해야합니다. 모든 항목을 선택하고 기본 색상으로 다시 설정하여 다시 새 검색 값을 강조 표시 할 수 있습니다. –
@ 아이드 마인드 - 예. 그것이 결국 내가 한 일입니다. 신용으로 알려 드릴 수 있도록이 게시물을 답장으로 보내주십시오. –