void scintilla_CharAdded(object sender, CharAddedEventArgs e) { if (this.IsActive) { int le = getLengthEntered(); // We need to make sure we aren't affecting the main list later on. // and so we create a new SkipList from the one we're given. SkipList usableList = new SkipList(_list.GetList()); StringBuilder strb = new StringBuilder(); int cop = 1; while (le > (cop - 1)) { strb.Append(NativeScintilla.GetCharAt(NativeScintilla.GetCurrentPos() - cop)); cop++; } char[] arr = strb.ToString().ToCharArray(); Array.Reverse(arr); String tmp = new string(arr); SkipList srList = usableList.RemoveNonMatchingStartString(tmp); String rList = getListString(srList); NativeScintilla.AutoCSetCurList(rList); } else { if (this.List[0] != "") { if (ShouldTrigger(e.Ch)) { this.Show(); } } } }
void scintilla_KeyDown(object sender, KeyEventArgs e) { if (this.IsActive) { if (e.KeyData == Keys.Back) { int le = getLengthEntered(); if (le > 0) { // We need to make sure we aren't affecting the main list later on. // and so we create a new SkipList from the one we're given. SkipList usableList = new SkipList(_list.GetList()); StringBuilder strb = new StringBuilder(); int cop = 1; while (le > (cop - 1)) { strb.Append(NativeScintilla.GetCharAt(NativeScintilla.GetCurrentPos() - (cop + 1))); cop++; } char[] arr = strb.ToString().ToCharArray(); Array.Reverse(arr); String tmp = new string(arr); SkipList srList = usableList.RemoveNonMatchingStartString(tmp.Substring(1)); String rList = getListString(srList); NativeScintilla.AutoCSetCurList(rList); } } } }