protected virtual void OnValidateChar(ValidateCharArgs e) { var handler = ValidateChar; if (handler != null) { handler(this, e); } }
protected override void OnKeyPress(KeyPressEventArgs e) { if (e.KeyChar >= ' ') // Allow the control keys to work as normal { var args = new ValidateCharArgs(e.KeyChar); OnValidateChar(args); if (args.Cancel) { e.Handled = true; return; } } base.OnKeyPress(e); }
private void HandlePaste() { if (!Clipboard.ContainsText()) { return; } string text = Clipboard.GetText(); var toPaste = new StringBuilder(text.Length); foreach (char ch in text.ToCharArray()) { var args = new ValidateCharArgs(ch); OnValidateChar(args); if (!args.Cancel) { toPaste.Append(ch); } } if (toPaste.Length != 0) { Clipboard.SetText(toPaste.ToString()); this.Paste(); } }