bool IExtenderProvider.CanExtend(object extendee) { //find AutocompleteMenu with lowest hashcode if (Container != null) { foreach (object comp in Container.Components) { if (comp is AutocompleteMenu) { if (comp.GetHashCode() < GetHashCode()) { return(false); } } } } //we are main autocomplete menu on form ... //check extendee as TextBox if (!(extendee is Control)) { return(false); } var temp = TextBoxWrapper.Create(extendee as Control); return(temp != null); }
protected void OnWrapperNeeded(WrapperNeededEventArgs args) { if (WrapperNeeded != null) { WrapperNeeded(this, args); } if (args.Wrapper == null) { args.Wrapper = TextBoxWrapper.Create(args.TargetControl); } }
public static TextBoxWrapper Create(Control targetControl) { var result = new TextBoxWrapper(targetControl); if (result.selectedText == null || result.selectionLength == null || result.selectionStart == null || result.getPositionFromCharIndex == null) { return(null); } return(result); }