internal void OnSelecting(SelectingEventArgs args) { if (Selecting != null) { Selecting(this, args); } }
internal virtual void OnSelecting() { if (selectedItemIndex < 0 || selectedItemIndex >= visibleItems.Count) { return; } tb.TextSource.Manager.BeginAutoUndoCommands(); try { AutocompleteItem item = visibleItems[selectedItemIndex]; SelectingEventArgs args = new SelectingEventArgs() { Item = item, SelectedIndex = selectedItemIndex }; Menu.OnSelecting(args); if (args.Cancel) { selectedItemIndex = 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(); } }