コード例 #1
0
    protected virtual void OnValidateChar(ValidateCharArgs e)
    {
        var handler = ValidateChar;

        if (handler != null)
        {
            handler(this, e);
        }
    }
コード例 #2
0
 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);
 }
コード例 #3
0
    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();
        }
    }