-
[C#] TextBox 에 찾기바꾸기 기능 활용프로그래밍/C# 2020. 9. 29. 15:48
ScintillaNET_FindReplaceDialog NuGet 패키지 활용하기
NuGet 패키지 관리에서 ScintillaNET_FindReplaceDialog 패키지를 다운로드해주세요. 이 패키지의 주요 기능은 다음과 같습니다. 또한 이미 구현된 Dialog 를 사용하기 때문에 코드 몇 줄이면 사용이 가능합니다.
1. 검색
2. 바꾸기
3. 검색 단어 강조
4. 검색 단어를 포함하는 줄 강조
5. 특정 라인으로 이동
코드 적용하기
간단한 인스턴스만 하나 해주시면 바로 사용이 가능합니다.
using ScintillaNET_FindReplaceDialog; // FindReplace Declare private FindReplace MyFindReplace;
KeyDown 이벤트를 통해 단축기를 만들 수 있습니다.
private void TextArea_KeyDown(object sender, KeyEventArgs e) { #region FindReplace MyFindReplace.ClearAllHighlights(); if (e.Control && e.KeyCode == Keys.F) { MyFindReplace.ShowFind(); e.SuppressKeyPress = true; } else if (e.Shift && e.KeyCode == Keys.F3) { MyFindReplace.Window.FindPrevious(); e.SuppressKeyPress = true; } else if (e.KeyCode == Keys.F3) { MyFindReplace.Window.FindNext(); e.SuppressKeyPress = true; } else if (e.Control && e.KeyCode == Keys.H) { MyFindReplace.ShowReplace(); e.SuppressKeyPress = true; } else if (e.Control && e.KeyCode == Keys.I) { MyFindReplace.ShowIncrementalSearch(); e.SuppressKeyPress = true; } else if (e.Control && e.KeyCode == Keys.G) { GoTo MyGoTo = new GoTo((Scintilla)sender); MyGoTo.ShowGoToDialog(); e.SuppressKeyPress = true; }else if ( e.Control && e.KeyCode == Keys.B) { string findTxt = TextArea.SelectedText; MyFindReplace.FindAll(findTxt, false, true); e.SuppressKeyPress = true; } #endregion }
Example
'프로그래밍 > C#' 카테고리의 다른 글
[C#] virtual, abstract, interface (2) 2020.11.05 [C#] Delegate 를 이용해 폼 간 데이터 전송하기 (0) 2020.10.08 [C#] Column editing function in TextBox (0) 2020.09.29 [C#] Scintillanet 이란 ? (0) 2020.09.25 [C#] StreamReader : 대용량 텍스트 파일 읽기 (0) 2020.09.22