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)); }
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; }