Copy empty string using Clipboard.SetText(string)

前端 未结 4 1305
感情败类
感情败类 2020-12-20 18:33

Clipboard.SetText(\"\") throws me an error - \"Value cannot be null\". So how do I copy an empty string using Clipboard.SetText?

I have alr

4条回答
  •  轮回少年
    2020-12-20 19:04

    Reference PresentationCore and call System.Windows.Clipboard.SetText(string) instead of System.Windows.Forms.Clipboard.SetText(string). I used clipview to verify that System.Windows.Clipboard.SetText(""); (which throws no exception) stores the empty string into the clipboard.

    This method it saves you from having to conditionally call Clear() or SetText() depending on what string you are trying to effectively set into clipboard. This is especially useful if you’re trying to write code to set the clipboard to any string value without knowing ahead of time whether or not the empty string needs to be supported. I.e., this method enables you to avoid treating the empty string like a special case (IMO, it shouldn’t be a special case because that’s just confusing).

    Additionally, as can be seen with clipview, Clear() actually empties out the clipboard instead of placing an empty string in it. Calling System.Windows.Clipboard.SetText("") actually puts an empty string value into clipboard. When you paste, the target application can tell the difference and actually behave differently if it wants to.

提交回复
热议问题