Exemple #1
0
        private PasteEventArgs CheckPasteValid()
        {
            // Default values.
            PasteRejectReasons rejectReason  = PasteRejectReasons.Accepted;
            string             originalText  = Text;
            string             clipboardText = string.Empty;
            string             textResult    = string.Empty;

            try
            {
                clipboardText = Clipboard.GetText(TextDataFormat.Text);
                if (clipboardText.Length > 0)
                {
                    textResult = (
                        Text.Remove(SelectionStart, SelectionLength).Insert(SelectionStart, clipboardText));
                    if (clipboardText.Any(c => !char.IsDigit(c)))
                    {
                        rejectReason = PasteRejectReasons.InvalidCharacter;
                    }
                }
                else
                {
                    rejectReason = PasteRejectReasons.NoData;
                }
            }
            catch
            {
                rejectReason = PasteRejectReasons.Unknown;
            }
            return(new PasteEventArgs(originalText, clipboardText, textResult, rejectReason));
        }
Exemple #2
0
 public PasteEventArgs(string originalText, string clipboardText, string textResult,
                       PasteRejectReasons rejectReason)
 {
     mOriginalText  = originalText;
     mClipboardText = clipboardText;
     mTextResult    = textResult;
     mRejectReason  = rejectReason;
 }
        /// <summary>
        /// Checks if the data on the clipboard contains text that is valid.
        /// </summary>
        /// <returns>A PasteEventArgs instance containing the relevant data.</returns>
        private PasteEventArgs CheckPasteValid()
        {
            // Default values.
            PasteRejectReasons rejectReason  = PasteRejectReasons.Accepted;
            string             originalText  = Text;
            string             clipboardText = string.Empty;
            string             textResult    = string.Empty;

            try
            {
                clipboardText = Clipboard.GetText(TextDataFormat.Text);
                if (clipboardText.Length > 0) // Does clipboard contain text?
                {
                    // Store text value as it will be post paste assuming it is valid.
                    textResult = (
                        Text.Remove(SelectionStart, SelectionLength).Insert(SelectionStart, clipboardText));
                    foreach (char c in clipboardText) // Check for any non digit characters.
                    {
                        bool IsHex = ((c == 'a') || (c == 'A') || (c == 'b') || (c == 'B') ||
                                      (c == 'c') || (c == 'C') || (c == 'd') || (c == 'D') ||
                                      (c == 'e') || (c == 'E') || (c == 'f') || (c == 'F'));
                        if (!char.IsDigit(c) && !IsHex)
                        {
                            rejectReason = PasteRejectReasons.InvalidCharacter;
                            break;
                        }
                    }
                }
                else
                {
                    rejectReason = PasteRejectReasons.NoData;
                }
            }
            catch
            {
                rejectReason = PasteRejectReasons.Unknown;
            }
            return(new PasteEventArgs(originalText, clipboardText, textResult, rejectReason));
        }
 /// <summary>
 /// Creates a new instance of the PasteRejectedEventArgs class.
 /// </summary>
 /// <param name="originalText">The original textl.</param>
 /// <param name="clipboardText">The text from the clipboard.</param>
 /// <param name="textResult">The resulting text.</param>
 /// <param name="rejectReason">The reason for the paste rejection.</param>
 public PasteEventArgs(string originalText, string clipboardText, string textResult,
     PasteRejectReasons rejectReason)
 {
     m_OriginalText = originalText;
     m_ClipboardText = clipboardText;
     m_TextResult = textResult;
     m_RejectReason = rejectReason;
 }