System.Windows.Forms.ListView.KeySearchString C# (CSharp) Method

KeySearchString() private method

private KeySearchString ( KeyEventArgs ke ) : bool
ke KeyEventArgs
return bool
		private bool KeySearchString (KeyEventArgs ke)
		{
			int current_tickcnt = Environment.TickCount;
			if (keysearch_tickcnt > 0 && current_tickcnt - keysearch_tickcnt > keysearch_keydelay) {
				keysearch_text = string.Empty;
			}
			
			if (!Char.IsLetterOrDigit ((char)ke.KeyCode))
				return false;

			keysearch_text += (char)ke.KeyCode;
			keysearch_tickcnt = current_tickcnt;

			int prev_focused = FocusedItem == null ? 0 : FocusedItem.DisplayIndex;
			int start = prev_focused + 1 < Items.Count ? prev_focused + 1 : 0;

			ListViewItem item = FindItemWithText (keysearch_text, false, start, true, true);
			if (item != null && prev_focused != item.DisplayIndex) {
				selected_indices.Clear ();

				SetFocusedItem (item.DisplayIndex);
				item.Selected = true;
				EnsureVisible (GetItemIndex (item.DisplayIndex));
			}

			return true;
		}
ListView