OnSelected() public method

This method is called after item inserted into text
public OnSelected ( AutocompleteMenu popupMenu, SelectedEventArgs e ) : void
popupMenu AutocompleteMenu
e SelectedEventArgs
return void
        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;
                    DoSelectedVisible();
                    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();
            }
        }
示例#2
0
        internal virtual void OnSelecting()
        {
            if (this.FocussedItemIndex < 0 || this.FocussedItemIndex >= visibleItems.Count)
            {
                return;
            }
            tb.TextSource.Manager.BeginAutoUndoCommands();
            try
            {
                AutocompleteItem   item = this.FocussedItem;
                SelectingEventArgs args = new SelectingEventArgs()
                {
                    Item          = item,
                    SelectedIndex = FocussedItemIndex
                };

                this.Menu.OnSelecting(args);

                if (args.Cancel)
                {
                    this.FocussedItemIndex = args.SelectedIndex;
                    this.Invalidate();
                    return;
                }

                if (!args.Handled)
                {
                    var fragment = this.Menu.Fragment;
                    this.DoAutocomplete(item, fragment);
                }

                this.Menu.Close();
                //
                SelectedEventArgs args2 = new SelectedEventArgs()
                {
                    Item = item,
                    Tb   = this.Menu.Fragment.tb
                };
                item.OnSelected(this.Menu, args2);
                this.Menu.OnSelected(args2);
            }
            finally
            {
                tb.TextSource.Manager.EndAutoUndoCommands();
            }
        }