private int DoSearch(int index) { if (_searchList.Count == 0) { return(-1); } SearchListObject foundObject = SearchNormal(_searchList[index]); if (foundObject == null) { return(-1); } int foundIndex = foundObject.Id - 1; if (foundIndex >= 0) { foundIndex = index; if (foundIndex == _originalSearchIndex && showNoMoreMatchesMessageCheckBox.Checked) { ShowNoMoreMatchesMessage(); Reset(_previousSearchIndex); foundIndex = _previousSearchIndex; } else { FoundMatch(foundObject); } } return(foundIndex); }
private void FireSearchEvent(SearchListObject foundObject) { if (SearchEvent != null) { SearchEvent(foundObject); } }
private static SearchListObject SearchNormal(SearchListObject searchListObject) { if (searchListObject.Match) { return(searchListObject); } return(null); }
private void FoundMatch(SearchListObject foundObject) { FireSearchEvent(foundObject); _previousSearchIndex = foundObject.Id - 1; if (_originalSearchIndex == -1) { _originalSearchIndex = foundObject.Id - 1; } _currentSearchIndex = foundObject.Id - 1; }