internal void OnSelecting(SelectingEventArgs args) { if (Selecting != null) { Selecting(this, args); } }
internal virtual void OnSelecting() { if (FocussedItemIndex < 0 || FocussedItemIndex >= visibleItems.Count) { return; } tb.TextSource.Manager.BeginAutoUndoCommands(); try { AutoCompleteItem item = FocussedItem; SelectingEventArgs args = new SelectingEventArgs() { Item = item, SelectedIndex = FocussedItemIndex }; Menu.OnSelecting(args); if (args.Cancel) { FocussedItemIndex = args.SelectedIndex; Invalidate(); return; } if (!args.Handled) { var fragment = Menu.Fragment; DoAutoComplete(item, fragment); } Menu.Close(); // SelectedEventArgs args2 = new SelectedEventArgs() { Item = item, Tb = Menu.Fragment.tb }; item.OnSelected(Menu, args2); Menu.OnSelected(args2); } finally { tb.TextSource.Manager.EndAutoUndoCommands(); } }