// Called by the native control when users enter text
 internal void NativeControlTextChanged(string text, AutoCompleteTextChangeReason reason)
 {
     suppressTextChangedEvent = true; //prevent loop of events raising, as setting this property will make it back into the native control
     Text = text;
     suppressTextChangedEvent = false;
     TextChanged?.Invoke(this, new AutoCompleteTextChangedEventArgs(reason));
 }
 public AutoCompleteTextChangedEventArgs(AutoCompleteTextChangeReason reason)
 {
     Reason = reason;
 }